天天看點

ZooKeeper的分布模式安裝 1.确定叢集結構 2.解壓縮、設定環境變量 3.修改叢集的配置 4.配置其他節點 5.啟動叢集 6.驗證

ZooKeeper的分布模式安裝

ZooKeeper(以下簡稱ZK)是一個分布式協調服務架構,可以做到各節點之間的資料強一緻性。簡單的了解就是在一個節點修改某個變量的值後,在其他節點可以最新的變化,這種變化是事務性的。通過在ZK節點上注冊監聽器,就可以獲得資料的變化。

1.确定叢集結構

我們打算在三個節點安裝ZK,分别是192.168.1.221(hadoop1)、192.168.1.222(hadoop2)、192.168.1.223(hadoop3)。首先在hadoop1中部署。

注意:一定要保證各節點的系統時間相同。

2.解壓縮、設定環境變量

在hadoop1,我們把zookeeper-3.4.5.tar.gz複制到/usr/local目錄下,解壓縮,重命名為zk,然後在/etc/profile中設定環境變量。具體指令可以參照前面的文章。

3.修改叢集的配置

進入到${ZOOKEEPER_HOME}/conf目錄下,有一個檔案是zoo_sample.cfg,重命名為zoo.cfg。打開這個檔案進行編輯

變量dataDir表示資料存放的目錄,把該值修改為/usr/local/zk/data。

在檔案的最後增加三行内容,如下

server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888      

每一行表示一個配置資訊,現在解釋一下每行的内容,以第一行為例。其中的server是固定名稱;1隻是一個标記,隻要保證與下面的所有标記不重複即可;後面的hadoop1表示主機名,即ZK部署的主機;2888表示ZK之間通信用的端口;3888表示ZK之間選舉用的端口。

然後建立/usr/local/zk/data目錄。

進入data目錄,建立檔案myid。myid的内容是該主機名對應的标記數字。如果是hadoop1,那麼數字就是1;如果是hadoop2,那麼數字就是2;如果是hadoop3,那麼數字就是3。

4.配置其他節點

執行指令,把安裝檔案從hadoop1複制到其他節點,如下

scp -rq /usr/local/zk hadoop2:/usr/local
scp -rq /usr/local/zk hadoop3:/usr/local

scp /etc/profile hadoop2:/etc/
scp /etc/profile hadoop3:/etc/      

進入hadoop2中,把檔案myid的内容修改為2;進入hadoop3,把檔案myid的内容修改為3。

5.啟動叢集

在三個節點的終端中,分别執行指令

zkServer.sh  start      

這樣,就啟動了ZK叢集。

6.驗證

我們如何判斷啟動是否成功哪?

可以在終端執行jps檢視,會看到一個新的java程序QuorumPeerMain。這就是ZK的java程序。

也可以在三個終端分别執行指令

zkServer.sh  status      

會看到一個輸出資訊含有Mode: Leader,兩個輸出資訊含有Mode: Follower。

繼續閱讀