排查 cfn-hup 未运行时的集群更新超时问题 - AWS ParallelCluster

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

排查 cfn-hup 未运行时的集群更新超时问题

cfn-hup 帮助程序作为一个进程守护程序,旨在检测资源元数据中出现的变更,并在检测到变更时运行用户指定的操作。这就是您通过UpdateStackAPI操作对正在运行的 Amazon EC2 实例进行配置更新的方式。

目前,cfn-hup 进程守护程序由 supervisord 启动。但在启动后,cfn-hup 进程将脱离 supervisord 控制。如果 cfn-hup 进程守护程序因外部因素终止,它不会自动重启。如果cfn-hup未运行,则在集群更新期间, CloudFormation 堆栈会按预期启动更新过程,但更新过程未在头节点上激活,堆栈最终会进入超时状态。从集群日志 /var/log/chef-client 中,您可以看到从未调用过更新食谱。

失败时检查并重启 cfn-hup

  1. 在头节点上,检查 cfn-hup 是否正在运行:

    $ ps aux | grep cfn-hup
  2. 在头节点上检查 cfn-hup 日志 /var/log/cfn-hup.log/var/log/supervisord.log

  3. 如果 cfn-hup 未运行,请尝试通过运行以下命令进行重启:

    $ sudo /opt/parallelcluster/pyenv/versions/cookbook_virtualenv/bin/supervisorctl start cfn-hup