天天看點

Cloudera-Manager修改叢集主機的IP

1、業務需求說明:由于公司網絡進行了整改,随之而來的就是對應的ip網段發生了變化,其中我的hadoop的叢集各主機的ip也相應的發生了改變,是以需要對各主機進行修改ip。

2、具體操作:

首先停止cdh各元件的服務,修改各主機的ip。修改完後,本以為完事兒了,啟動Cloudera Management Service時,發現啟動失敗,無法啟動。那麼問題就來了,如何通過cloudera-manager來修改主機的ip呢?郁悶的是Cloudera-Manager并沒有提供修改叢集ip的方法,是以,需要修改主機的ip隻能另辟蹊徑了。

3、柳暗花明又一村。

通過在網上搜尋,發現很多網友也遇到了我同樣的問題,其中有些人說隻能重裝,個人感覺這肯定不會這樣子,是以這個方法抛棄。于是功夫不負有心人,在網上看到了有人通過指令行的方式來修改主機的ip。這個可以。下面将該方法步驟詳細介紹一下:方法的主要思想是:由于cloudera-manager在安裝的時候,會配置相應的資料庫,該資料庫是用來存儲叢集的所有的配置資訊。cloudera-mamanger每次啟動的時候,都會從資料庫中讀取這些配置資訊,是以想修改主機的ip,隻需要修改存在資料庫中的主機的ip即可。

4、具體方法

(1)首先在安裝cloudera-manager的主機上,停止所有的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

提示你輸入密碼,密碼就是上面步驟(2)的密碼。

(4)修改postgresql資料庫中的資料(即主機的ip)

1) 檢視pg中存儲情況

select host_id, host_identifier, name, ip_address from hosts;

查詢的結果如下:

host_id |   host_identifier   |             name           |   ip_address

         ----------------------------------------------------------------------------

                3         |   hadoop.slave1   |           hadoop1         |  192.10.1.217

2)修改各主機的ip(分别修改各主機的ip)

update hosts set (ip_address) = (‘192.10.2.217’) where name=‘hadoop1’;

3)退出postgresql資料庫

輸入指令: \q 即可

(5)修改所有機器的cloudera-scm-agent的配置檔案

1)打開cloudera-scm-agent的配置檔案

vi /ect/cloudera-scm-agent-/config.ini

2)修改server_host的值(這個是指定cloudera-scm-server的ip)

将該值設定為cloudera-scm-server的ip即可。

(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服務即可.

(8)重新開機cloudera-manager上的服務即可。

作者:AA趙師傅

來源:CSDN

原文:https://blog.csdn.net/zcb_data/article/details/80743584

版權聲明:本文為部落客原創文章,轉載請附上博文連結!