现象
通过Cloudera WEB界面安装Hadoop过程中,在安装Parcel步骤时,一个节点分配激活失败,报错信息显示”主机运行状况不良”,如下图所示。
分析
CM的集群是Server-Agent模式的,那么必须有一个唯一的id来标识Server和Agent属于同一个集群,在Agent端就是使用cm_guid文件来记录id的。
假设server端重新安装了一遍,重新构建集群,而agent没有重新安装,那么他们的id是一定不同的,就会造成上面的异常。
解决
删除agent目录下面的cm_guid文件,并重启失败节点的agent服务恢复。
寻找cm_guid文件的位置
1) 如果cloudera-manager-agent是离线安装的,那么cm_guid文件的位置是,当初安装cloudera-manager的位置,删除之,然后重启。
rm -f /opt/cloudera-manager/cm-5.11.1/lib/cloudera-scm-agent/cm_guid
./cloudera-scm-agent restart
2) 如果cloudera-manager-agent是在线安装的,那么cm-guid文件的位置是/var/lib/cloudera-scm-agent/cm_guid
[root@esgyn001 ~]# cd /var/lib/cloudera-scm-agent/
cm_guid response.avro uuid
[root@esgyn001 cloudera-scm-agent]# rm -rf cm_guid
[root@esgyn001 cloudera-scm-agent]# service cloudera-scm-agent restart
Stopping cloudera-scm-agent: [ OK ]
Starting cloudera-scm-agent: [ OK ]
也可以用find命令查找文件:
[root@cdh-70 ~]# find / -name cm_guid
/var/lib/cloudera-scm-agent/cm_guid
[root@cdh-70 ~]# rm -rf /var/lib/cloudera-scm-agent/cm_guid --删除文件
[root@cdh-70 ~]# /etc/init.d/cloudera-scm-agent restart --重启服务
cm_guid文件的内容
cm_guid文件的内容大概是uuid,用于唯一标示agent隶属于哪一个server。
官方参考文档
参考官网说明:Block agents from heartbeating to a Cloudera Manager with different UUID until agent restart