前言
在使用cdh集群过程中,难免会因为某些不可抗拒的原因导致节点IP或hostName变动,而cm的监控界面无法完成这些事情,但是cm将集群中所有的主机的信息都存在mysql数据库的hosts表中,
现在让我们来通过修改hosts来完成这个操作。
第一步,关闭服务
1. 关闭集群服务,及 Cloudera Management Service,
2. 关闭cm服务:( cm安装节点 )
命令 : service cloudera-scm-server stop
service cloudera-scm-agent stop( 没有可忽略 )
第二步,登录postgresql 数据库,修改节点IP
1. 获取postgresql的登录密码
命令: grep password /etc/cloudera-scm-server/db.properties
2. 登录数据库 ( 和登录mysql 类似 )
命令 :mysql -h localhost -ucdh -pcdh (回车 输入第一步的密码即可)
use scm;
第三步,查看并修改节点IP
1. 查看IP信息
命令:select host_id, name, ip_address from hosts;
2. 修改IP信息(hostName类似)
命令 : update hosts set (ip_address) = ('your_ip') where host_id=x;
3. 退出
命令 : q
第四步,修改CM服务相关配置
修改主节点的 /opt/cloudera-manager/cm-5.13.1/etc/cloudera-scm-server/db.properties中的host
修改每个从节点的 /opt/cloudera-manager/cm-5.13.1/etc/cloudera-scm-agent/config.ini中的server_host
登录元数据库,将新host访问权限授权给scm用户: