@
1.叢集規劃
在hadoop101、hadoop102和hadoop103,這三個節點上部署Zookeeper。
2.解壓安裝
(1)在101機器上,解壓Zookeeper安裝包到/opt/module/
(自己建立)目錄下
tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/
(2)在101機器上,同步/opt/module/zookeeper-3.4.10
目錄內容到hadoop102、hadoop103
scp -r /opt/module/zookeeper-3.4.14/ sun@hadoop102:/opt/module/
scp -r /opt/module/zookeeper-3.4.14/ sun@hadoop103:/opt/module/
3.配置伺服器編號
(1)在/opt/module/zookeeper-3.4.10/這個目錄下建立一個datas目錄,然後在裡面建立一個myid的檔案,並編輯。在檔案中新增與server對應的編號:
vi myid
#若是在101主機,則檔案裡新增101
(2)拷貝配置好的zookeeper到其他機器上
xsync myid
並分別在hadoop102、hadoop103上修改myid檔案中內容為102、103
4.配置zoo.cfg檔案
(1)重新命名/opt/module/zookeeper-3.4.10/conf這個目錄下的zoo_sample.cfg
為zoo.cfg
mv zoo_sample.cfg zoo.cfg
(2)開啟zoo.cfg檔案
vi zoo.cfg
- 修改資料儲存路徑配置
dataDir=/opt/module/zookeeper-3.4.14/datas
- 增加如下配置
#######################cluster##########################
#如果101是leader則向2888埠發請求,若是follower則向3888埠發請求,一下同理
server.101=hadoop101:2888:3888
server.102=hadoop102:2888:3888
server.103=hadoop103:2888:3888
(3)同步zoo.cfg配置檔案
xsync zoo.cfg
(4)配置引數解讀
server.A=B:C:D
A是一個數字,表示這個是第幾號伺服器;
叢集模式下配置一個檔案myid,這個檔案在dataDir目錄下,這個檔案裡面有一個資料就是A的值,Zookeeper啟動時讀取此檔案,拿到裡面的資料與zoo.cfg裡面的配置資訊比較從而判斷到底是哪個server。
B是這個伺服器的地址;
C是這個伺服器Follower與叢集中的Leader伺服器交換資訊的埠;
D是萬一叢集中的Leader伺服器掛了,需要一個埠來重新進行選舉,選出一個新的Leader,而這個埠就是用來執行選舉時伺服器相互通訊的埠。
5.叢集操作
分別在三個節點啟動zookeeper
/opt/module/zookeeper-3.4.14/bin/zkServer.sh start
檢視狀態
/opt/module/zookeeper-3.4.14/bin/zkServer.sh status