0%

Cloudera CDH 集群修改 IP

原则上我以为 Cloudera 是使用 hostname 进行节点间通信,修改 IP 地址只需要修改 hostanme 就可以了,但事实不是这样。

以下是 Cloudera 集群修改IP的方法:

首先在安装cloudera-manager的主机上,停止所有的 cloudera 管理进程:

1
2
service cloudera-scm-agent stop  
service cloudera-scm-server stop

查看 postgresql 中的scm用户的密码:

1
grep password /etc/cloudera-scm-server/db.properties

登陆 postgresql 数据库:

1
psql -h localhost -p 7432 -U scm

修改 postgresql 数据库中的数据(即主机的ip):

1
2
3
4
5
# 查看pg中存储情况
select host_id, host_identifier, name, ip_address from hosts;

# 修改各主机的ip(分别修改各主机的ip)
update hosts set (ip_address) = ('192.10.2.217') where name='hadoop1';

修改所有机器的 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
2
service cloudera-scm-agent start
service cloudera-scm-server start

最终,重启 cloudera-manager 上的各服务。