原则上我以为 Cloudera 是使用 hostname 进行节点间通信,修改 IP 地址只需要修改 hostanme 就可以了,但事实不是这样。
以下是 Cloudera 集群修改IP的方法:
首先在安装cloudera-manager的主机上,停止所有的 cloudera 管理进程:
1 | service cloudera-scm-agent stop |
查看 postgresql 中的scm用户的密码:
1 | grep password /etc/cloudera-scm-server/db.properties |
登陆 postgresql 数据库:
1 | psql -h localhost -p 7432 -U scm |
修改 postgresql 数据库中的数据(即主机的ip):
1 | # 查看pg中存储情况 |
修改所有机器的 cloudera-scm-agent 的配置文件:
1 | vi /etc/cloudera-scm-agent/config.ini |
修改 server_host 的值 (这个是指定cloudera-scm-server的ip),将该值设置为 cloudera-scm-server 的ip即可。
修改各主机的 /etc/hosts文件,将现在的 hostname 与IP地址对应上,重启服务:
1 | service cloudera-scm-agent start |
最终,重启 cloudera-manager 上的各服务。