Azure HDInsight 中的 Apache Ambari 检测信号问题
本文介绍在与 Azure HDInsight 群集交互时出现的问题的故障排除步骤和可能的解决方法。
场景 - CPU 利用率较高
问题
Ambari 代理的 CPU 利用率很高,这会导致 Ambari UI 发出警报,即对于某些节点,Ambari 代理检测信号丢失。 检测信号丢失警报通常是短暂的。
原因
由于各种 Ambari 代理 bug,在极少数情况下,Ambari 代理可能具有很高的 CPU 利用率(接近 100%)。
解决方法
确定 Ambari 代理的进程 ID
PID
:ps -ef | grep ambari_agent
然后,运行以下命令来显示 CPU 利用率:
top -p <ambari-agent-pid>
重启 Ambari 代理以缓解问题:
service ambari-agent restart
如果重启不起作用,请终止 Ambari 代理进程,然后启动它:
kill -9 <ambari-agent-pid> service ambari-agent start
场景:Ambari 代理未启动
问题
Ambari 代理未启动,这会导致 Ambari UI 发出的针对某些节点的丢失 Ambari 代理检测信号的警报。
原因
这些警报是由未运行 Ambari 代理导致的。
解决方法
确认 Ambari 代理的状态:
service ambari-agent status
确认故障转移控制器服务是否正在运行:
ps -ef | grep failover
如果故障转移控制器服务未运行,则很可能是由于某个问题导致 hdinsight 代理无法启动故障转移控制器。 通过
/var/log/hdinsight-agent/hdinsight-agent.out
文件检查 hdinsight 代理日志。
场景: Ambari 的检测信号丢失
问题
Ambari 检测信号代理已丢失。
原因
OMS 日志导致 CPU 使用率高。
解决方法
- 使用 Disable-AzHDInsightMonitoring PowerShell cmdlet 来禁用 Azure Monitor 日志记录。
- 删除
mdsd.warn
日志文件
后续步骤
如果你的问题未在本文中列出,或者无法解决问题,请访问以下渠道之一获取更多支持:
- 如果需要更多帮助,可以从 Azure 门户提交支持请求。 从菜单栏中选择“支持” ,或打开“帮助 + 支持” 中心。