原本在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 9000
netstat -nap | grep 9001
如果被占用,kill –9 相關進程,再重新啟動agent服務即可
再次登錄Manager,查看主機名字,IP地址已經被正確修改。重啟一下相關CDH服務即可。
參考文章:
http://heipark.iteye.com/blog/2013531