【问题标题】:Chef client waiting to finish等待完成的厨师客户
【发布时间】:2015-11-11 06:56:38
【问题描述】:

当运行配方时出现问题并且客户端运行中途挂起时,已安装的 Chef 客户端将无法使用。

然后您可以退出机器、重新启动、清理 Chef pid 文件等,但每次启动 Chef 客户端时都会显示以下消息:

Chef 客户端正在运行,将等待它完成然后运行。

执行重启后,Chef 应该能够从中恢复,但情况并非如此。

从中途挂起的客户端运行中恢复的最佳方法是什么?目前我删除虚拟机并创建一个新的,但这不是一个真正的解决方案。

中途挂了还能恢复吗?

【问题讨论】:

  • 厨师的哪个版本?您的 client.rb 中有 lockfile 属性吗?你在压制哪个 pid 文件?您将 chef-client 作为服务运行还是从 cron 运行?

标签: client chef-infra


【解决方案1】:

我遇到了厨房融合过程会挂起的相同问题,这通常是由于我的情况下不正确的 msi 安装。然后我必须重新启动厨房机器。

我注意到一个提升的计划任务正在运行,它在停止时会终止进程,但是当我再次运行它时问题返回(“厨师客户端 2092 正在运行,将等待它完成然后运行”) .

然后我突然想到,通常可以解决问题的最后一次重新启动尝试没有成功,因为打开的文件阻止了重新启动。重新启动机器确实解决了我的问题。这不是一个完美的解决方案,但在我的情况下它确实可以解决问题。

【讨论】:

    【解决方案2】:

    如果有任何正在运行的服务,请停止服务:sudo service chef-client stop

    如果问题仍然存在

    • 查看是否有厨师客户端进程/服务正在运行:ps aux | grep chef
    • 杀死进程

    如果问题仍然存在

    • /etc/chef/client.rb 和/或etc/init.d/chef-client 下查找您的厨师客户端设置
    • 然后找到pid_filelockfile路径
    • 删除文件

    如果问题仍然存在,您可能会像我一样运行旧版本的 chef-client 您需要查看您的厨师缓存文件夹

    我不得不删除/var/chef/cache/chef-client-running.pid

    【解决方案3】:

    如果发生超时 - 收敛应该一次又一次地正常工作。好吧,如果您需要删除客户端 - 您可以在客户端计算机上运行 sudo rm -rf /etc/chef。所有选项都在here 详细描述。

    【讨论】:

    • 这与问题有什么关系?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-22
    • 1970-01-01
    • 2015-02-15
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多