Linuxユーザーサービスを開始できませんが、サービスが存在し、/lib/systemd/systemに接続されています。

Linuxユーザーサービスを開始できませんが、サービスが存在し、/lib/systemd/systemに接続されています。

次のサービスユニットを定義しました。/lib/systemd/system/

[Unit]
Description=Kafka and Zookeeper 3 node ensemble
Requires=network.target remote-fs.target
After=network.target remote-fs.target
ConditionPathExists=!/opt/

[Service]
Type=simple
EnvrionmentFile=/etc/environment
User=kafkacluster
Group=kafkacluster
ExecStart=${KAFKA_HOME}/bin/kafka-startj.sh ${KAFKA_HOME}
ExecStop=${KAFKA_HOME}/bin/kafka-stopj.sh ${KAFKA_HOME}
Restart=on-failure
SyslogIdentifier=kafkacluster

[Install]
WantedBy=multi-user.target

その後、次のコマンドを実行しました。

systemctl enable /lib/systemd/system/kafkacluster.service

これは、そのファイルにソフトリンクがあることを示します/etc/systemd/system。今私が走るとき

systemctl start kafkacluster.service

次のエラーが発生します。

Unit kafkacluster.service failed to load: No such file or directory. See system logs and 'systemctl status kafkacluster.service' for details.

しかし、今サービスが提供されているので、何が欠けているのか分からない。誰もが正しい方向に私を指すことができますか?

誤式 条件付きパス存在=/opt/

出力systemctl kafkacluster.service

kafkacluster.service
   Loaded: error (Reason: No such file or directory)
   Active: inactive (dead)

ベストアンサー1

ConditionPathExists=!/opt/

次の点に注意してください。 ConditionPathExists =に渡された絶対パス名の前に感嘆符( "!")が付いていると、テストは無効になり、パスが存在しない場合にのみデバイスが起動します。

システムに本当に/opt/ディレクトリがありませんか?

そして、${KAFKA_HOME}変数が定義されていることを確認してください。

おすすめ記事