Centos 7でnodepool-launcherを起動したときのsystemdサービス203 / EXECエラーの修正(ファイルまたはディレクトリなし)

Centos 7でnodepool-launcherを起動したときのsystemdサービス203 / EXECエラーの修正(ファイルまたはディレクトリなし)

Zuul APIゲートウェイ管理を実行できるように、centOs 7でnodepool-launcherを実行しようとしています。最初は、次のエラーが発生しました。

Failed at step EXEC spawning /usr/bin/nodepool-launcher.service: No such file or directory.

/usr/bin ディレクトリに nodepool-launcher.service というファイルを作成しました。このファイルには以下が含まれます。

[Service]
ExecStart= /bin/bash /usr/bin/nodepool-launcher.service

今、次のエラーが発生しました。

[root@mypc ~]# systemd-analyze verify nodepool-launcher.service
nodepool-launcher.service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing.
Error: org.freedesktop.DBus.Error.InvalidArgs: Unit is not loaded properly: Invalid argument.
Failed to create nodepool-launcher.service/start: Invalid argument
nodepool-launcher.service: command /usr/bin/nodepool-launcher is not executable: No such file or directory

私はフォローしましたこれノードプールのインストールと構成に関するドキュメント。

この問題を解決するためのどんな提案でも歓迎します。

答え1

そのファイルがcentos.conf問題を引き起こした場合は、そのファイルを削除し、/usr/local/bin/nodepool-launcherユニットファイルから/usr/bin/nodepool-launchersystemctl daemon-reload

答え2

後で参照できるように、誰でもこの問題が発生した場合は、次の3つの手順が役に立ちました。

注:「nodepool-launcher」をパッケージ/モジュールに置き換えてください。

  1. このコマンドを使用してくださいlocate nodepool-launcher.service。出力リストで、サービスが実際に存在するディレクトリを簡単に見つけることができます。私が知っている限り、そうです/usr/local/bin/nodepool-launcher
  2. ユニットファイルを確認し、ExecStartがこのディレクトリを指していることを確認してください。systemctl cat {directory location}/nodepool-launcher.service`vi {ディレクトリの場所} / nodepool-serviceを使用してコンテンツを読み込んで編集できます。シェルスクリプトでない場合は、/bin/bash などのコンテンツがある場合は削除してください。
  3. .confファイルがある場合は、ファイルのExecStartが上記と同じディレクトリを指していることを確認してください。

/usr/bin/nodepool-launcher私の場合、.confファイルのExecStartは私が変更した場所を指し、完全に/usr/local/bin/nodepool-launcher正常に実行されました。誰かに役立つことを願っています。

関連情報