strongyoung 2014-11-21
原本在3台机器中部署了Cloudera CDH4.8的集群环境,运行状况良好,后来由于机房搬迁,导致那3台机器的ip地址被改变(hostname 没有变化)。
再次启动Cloudera-scm-server,登陆进去看时,发现manager根本不认识那3台机器了。
无奈在“主机”的选项中需找修改的方法,发现Cloudera-manager那个鬼东西,根本没有考虑ip地址会变化的情况,只能通过命令行的方式修改。
1 首先停止所有的cloudera管理进程
service cloudera-scm-agent stop service cloudera-scm-server stop
2 查看postgresql 的scm用户的密码
grep password /etc/cloudera-scm-server/db.properties
3 登陆postgresql 数据库
psql -h localhost -p 7432 -U scm
输入密码登陆
4 操作 postgresql 数据库
1) 查看pg中存储情况
select host_id, host_identifier, name, ip_address from hosts;
查询结果:
host_id | host_identifier | name | ip_address ---------------------------------------------------------------------------- 3 | hadoop.slave1 | hadoop.slave1 | 192.10.1.217
2) 修改ip_address值
update hosts set (ip_address) = ('192.10.2.217') where host_id=3;
3) 依次修改ip值,退出postgresql
\q
5 修改所有机器的cloudera-scm-agent的配置文件
1) 打开cloudera-scm-agent的配置文件
vi /ect/cloudera-scm-agent-/config.ini
2) 修改server_host的值(这个是指定cloudera-scm-server的ip)
modify ‘192.10.1.217’ to '192.10.2.217'
6 修改系统/etc/hosts文件,将现在的hostname与IP地址对应上
7 重启服务
service cloudera-scm-agent start service cloudera-scm-server start
注:如果agent启动失败,查看是否9000或9001端口被占用
netstat -nap | grep 9000netstat -nap | grep 9001
如果被占用,kill –9 相关进程,再重新启动agent服务即可.
再次登录Manager,查看主机名字,IP地址已经被正确修改。重启一下相关CDH服务即可。