Debian 8.4环境下Cloudera Manager全主机安装失败求助
我之前在部署CDH集群的时候也碰到过一模一样的「Installation failed. Failed to receive heartbeat from agent」报错,折腾了好一阵才搞定,给你整理几个必查的关键点,按顺序排查大概率能解决问题:
主机Hostname配置检查:首先要确保所有节点的hostname能被正确解析。你可以在Cloudera Manager服务器和待添加主机上分别执行
hostname -f,确认返回的完全限定域名(FQDN)是一致的,并且两边都能ping通对方的hostname。另外,建议在所有节点的/etc/hosts文件里手动配置好所有集群节点的IP和对应FQDN,避免DNS解析出问题导致心跳失败。CM服务器7182端口连通性验证:7182是CM服务器和agent通信的核心端口。在待添加主机上执行
telnet <CM_SERVER_FQDN> 7182或者nc -zv <CM_SERVER_FQDN> 7182测试连通性。如果连接失败,需要检查CM服务器的防火墙规则(比如iptables -L或者firewall-cmd --list-ports)是否开放了7182端口;如果是云环境,还要检查安全组有没有放行这个端口的入站规则。待添加主机9000/9001端口占用检查:这两个端口是CDH agent用来和CM服务器通信的,一旦被其他进程占用,agent就无法正常发送心跳。执行
netstat -tulpn | grep -E "9000|9001"或者ss -tulpn | grep -E "9000|9001"查看端口占用情况,如果有进程占用,要么杀掉对应的进程,要么修改agent配置文件(/etc/cloudera-scm-agent/config.ini)里的端口参数,不过优先杀掉占用进程更直接。查看Agent日志定位具体问题:如果上面的检查都没问题,那就去待添加主机的
/var/log/cloudera-scm-agent/目录下查看最新的agent日志(比如cloudera-scm-agent.log)。日志里会有更详细的报错细节,比如是连接超时、认证失败还是配置错误,这些信息能帮你精准定位问题根源,比只看CM的表层报错有用多了。
内容的提问来源于stack exchange,提问作者Youssef El




