问题描述

  1. 客户打电话过来,下线一批机器,结果误删了几个节点的agent,删除方法通过CM页面进行删除,重新安装安装不上,其中一台主机是CM节点的Agent

  2. CM数据库以及监控数据都在,操作的时候将/var/lib/cloudera-scm-agent中的内容全部删除,然后又重启到其他节点拷贝了一份回来

    问题说明

  3. 先说明下/var/lib/cloudera-scm-agent中比较重要的两个文件

    1. uuid:标识主机自己
    2. cm_guid:标识CM主机
  4. 如果从其他正常的主机将该文件拷贝过来可能会导致uuid冲突,uuid在CM数据库的HOSTS表的HOST_IDENTIFIER字段存储

问题解决

  1. 备份现有的/var/lib/cloudera-scm-agent

    1. mv /var/lib/cloudera-scm-agent /var/lib/cloudera-scm-agent.bak
  2. 卸载cloudera-scm-agent

    yum remove cloudera-manager-agent
    
  3. 在CM页面中重启添加该hosts

    问题补充

  4. 这次删除的是通过CM页面进行删除,也就是该主机的/var/lib/cloudera-scm-agent文件等 都会被删除,数据库中的内容也会被删除

  5. 如果没有通过CM页面删除,只是简单粗暴的使用yum remove,那么数据库中还会保留着该主机的uuid

  6. 再次加入该主机的话可能会出现uuid冲突,需要将/var/lib/cloudera-scm-agent中的uuid内容和数据库保持一致