flink systemctlの起動に失敗しました。

flink systemctlの起動に失敗しました。

こんにちは、flinkローカルサーバーを調整するためにsystemctlサービスを作成したいと思います。

からすぐに行くことができます。/bin/start-local.sh

ただし、このサービス定義を使用する場合。

[Unit]
Description=Apache Flink
Documentation=http://flink.apache.org/
Requires=network.target remote-fs.target
After=network.target remote-fs.target

[Service]
Type=simple
User=beam1
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
ExecStart=/opt/flink-1.3.2/bin/start-local.sh
ExecStop=-/opt/flink-1.3.2/bin/stop-local.sh
Restart=always
[Install]
WantedBy=multi-user.target

エラーが発生します。サービスディフェンスに何の問題がありますか?

Oct 17 04:41:57 beam1 stop-local.sh[3997]: No jobmanager daemon (pid: 3995) is running anymore on beam1.
Oct 17 04:41:57 beam1 systemd[1]: flink.service: Service hold-off time over, scheduling restart.
Oct 17 04:41:57 beam1 systemd[1]: Stopped Apache Flink.
Oct 17 04:41:57 beam1 systemd[1]: Started Apache Flink.
Oct 17 04:41:57 beam1 start-local.sh[4411]: Starting jobmanager daemon on host beam1.
Oct 17 04:41:57 beam1 stop-local.sh[4817]: No jobmanager daemon (pid: 4814) is running anymore on beam1.
Oct 17 04:41:58 beam1 systemd[1]: flink.service: Service hold-off time over, scheduling restart.
Oct 17 04:41:58 beam1 systemd[1]: Stopped Apache Flink.
Oct 17 04:41:58 beam1 systemd[1]: flink.service: Start request repeated too quickly.
Oct 17 04:41:58 beam1 systemd[1]: Failed to start Apache Flink.

ベストアンサー1

はい!他のタイプを試してみてください:)

Type=forking

システム男性ページの内容は次のとおりです。

ブランチに設定されている場合、ExecStart =で設定されたプロセスは開始の一部としてブランチ()を呼び出す必要があります。起動が完了し、すべての通信チャネルが確立されると、親プロセスが終了すると予想されます。子プロセスは引き続き基本サービスプロセスとして実行され、親プロセスが終了すると、サービスマネージャはそのユニットが開始されたと見なす。これは既存のUNIXサービスの動作です。この設定を使用する場合は、systemdがサービスの基本プロセスを確実に識別できるように、PIDFile =オプションも使用することをお勧めします。親プロセスが終了すると、systemd は引き続き後続のユニットを起動します。

おすすめ記事