web-dev-qa-db-ja.com

InfluxDBはサービスとして開始できませんでした

RHEL7マシンで自動起動用にInfluxDBを構成しようとしています。

私が行った場合:

Sudo systemctl start influxdb

サービスが失敗する

[dadmin@localhost dashboard]$ Sudo systemctl start influxdb
[Sudo] password for dadmin: 
[dadmin@localhost dashboard]$ Sudo systemctl status influxdb
● influxdb.service - InfluxDB is an open-source, distributed, time series database
   Loaded: loaded (/usr/lib/systemd/system/influxdb.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/influxdb.service.d
           └─override.conf
   Active: failed (Result: start-limit) since Thu 2017-05-11 13:16:29 CEST; 10s ago
     Docs: https://docs.influxdata.com/influxdb/
  Process: 2562 ExecStart=/usr/bin/influxd -config /dashboard/influxdb.conf ${INFLUXD_OPTS} (code=exited, status=1/FAILURE)
 Main PID: 2562 (code=exited, status=1/FAILURE)

May 11 13:16:29 localhost.localdomain systemd[1]: influxdb.service: main process exited, code=exited, status=1/FAILURE
May 11 13:16:29 localhost.localdomain systemd[1]: Unit influxdb.service entered failed state.
May 11 13:16:29 localhost.localdomain systemd[1]: influxdb.service failed.
May 11 13:16:29 localhost.localdomain systemd[1]: influxdb.service holdoff time over, scheduling restart.
May 11 13:16:29 localhost.localdomain systemd[1]: start request repeated too quickly for influxdb.service
May 11 13:16:29 localhost.localdomain systemd[1]: Failed to start InfluxDB is an open-source, distributed, time series database.
May 11 13:16:29 localhost.localdomain systemd[1]: Unit influxdb.service entered failed state.
May 11 13:16:29 localhost.localdomain systemd[1]: influxdb.service failed.

これはユニットファイルです。

[dadmin@localhost dashboard]$ Sudo systemctl cat influxdb.service
[Sudo] password for dadmin: 
# /usr/lib/systemd/system/influxdb.service
# If you modify this, please also make sure to edit init.sh

[Unit]
Description=InfluxDB is an open-source, distributed, time series database
Documentation=https://docs.influxdata.com/influxdb/
After=network-online.target

[Service]
User=influxdb
Group=influxdb
LimitNOFILE=65536
EnvironmentFile=-/etc/default/influxdb
ExecStart=/usr/bin/influxd -config /etc/influxdb/influxdb.conf ${INFLUXD_OPTS}
KillMode=control-group
Restart=on-failure

[Install]
WantedBy=multi-user.target
Alias=influxd.service

# /etc/systemd/system/influxdb.service.d/override.conf
[Service]
ExecStart=
ExecStart=/usr/bin/influxd -config /dashboard/influxdb.conf ${INFLUXD_OPTS}

しかし、直接実行すると

/usr/bin/influxd -config /dashboard/influxdb.conf

InfluxDBはスムーズに起動します。

どこが間違っているのですか?

4
Davide

私は問題を見つけました:

[dadmin@localhost dashboard]$ Sudo tail /var/log/messages
May 11 16:21:41 localhost influxd: [I] 2017-05-11T14:21:41Z Using data dir: /dashboard/influxdb/data service=store
May 11 16:21:41 localhost influxd: run: open server: open tsdb store: open /dashboard/influxdb/data/_internal: permission denied
May 11 16:21:41 localhost systemd: influxdb.service: main process exited, code=exited, status=1/FAILURE
May 11 16:21:41 localhost systemd: Unit influxdb.service entered failed state.
May 11 16:21:41 localhost systemd: influxdb.service failed.
May 11 16:21:41 localhost systemd: influxdb.service holdoff time over, scheduling restart.
May 11 16:21:41 localhost systemd: start request repeated too quickly for influxdb.service
May 11 16:21:41 localhost systemd: Failed to start InfluxDB is an open-source, distributed, time series database.
May 11 16:21:41 localhost systemd: Unit influxdb.service entered failed state.
May 11 16:21:41 localhost systemd: influxdb.service failed.

処刑したとき

/usr/bin/influxd -config /dashboard/influxdb.conf

フォルダは、dadminを所有者として作成されました

フォルダを削除してサービスを再開しました。これですべて正常に動作します。

2
Davide

構成スクリプトには権限がありません。

ディレクトリを参照します。/opt/influxdb/influxd config> /etc/opt/influxdb/influxdb.confを実行すると、出力された構成ファイルによってすべてのディレクトリが〜の下に置かれます。 rootの場合、〜は/ rootに変換されます。

InfluxDBデータディレクトリとして/ rootを使用したくない場合は、いくつかのオプションがあります。

Influxdを実行するユーザーとして/ opt/influxdb/influxd config> /etc/opt/influxdb/influxdb.confを実行します。次に、構成ファイルはそのユーザーのホームディレクトリをインストール場所として使用します。 /etc/opt/influxdb/influxdb.confを明示的に編集して、使用するディレクトリを参照します。

また、これをチェックしてください blog これはあなたのためにそれをクリアするかもしれません

1
Frrank