修复在 centos 7 上启动 nodepool-launcher 时出现的 systemd 服务 203/EXEC 故障(没有此类文件或目录)

修复在 centos 7 上启动 nodepool-launcher 时出现的 systemd 服务 203/EXEC 故障(没有此类文件或目录)

我正在尝试在centOs 7上启动nodepool-launcher,以便我可以运行Zuul API网关管理。最初,我收到此错误:

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-launcher.之后,不要忘记运行systemctl daemon-reload告诉 systemd 配置已更改。

答案2

为了将来参考,如果有人遇到这个问题,这三个步骤对我有帮助:

注意:请将“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 或任何类似的内容(如果存在),以防它不是 shell 脚本。
  3. 如果存在 .conf 文件,请确保该文件中的 ExecStart 指向与上面相同的目录。

就我而言,.conf 文件的 ExecStart 指向/usr/bin/nodepool-launcher我更改的位置/usr/local/bin/nodepool-launcher,并且它运行得非常顺利。希望它能帮助某人。

相关内容