Zookeeper分佈式安裝部署使用

集羣規劃
  在hadoop102、hadoop103和hadoop104三個節點上部署Zookeeper。

解壓安裝

chmod u+x zookeeper-3.4.10.tar.gz

1)解壓zookeeper安裝包到/opt/module/目錄下
[liucw@hadoop102 software]$ tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/

2)在/opt/module/zookeeper-3.4.10/這個目錄下創建zkData
mkdir zkData

3)重命名/opt/module/zookeeper-3.4.10/conf這個目錄下的zoo_sample.cfg爲zoo.cfg
mv zoo_sample.cfg zoo.cfg


配置zoo.cfg文件

dataDir=/opt/module/zookeeper-3.4.10/zkData

#######################cluster##########################
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
server.4=hadoop104:2888:3888

1)server.2=hadoop102:2888:3888 配置參數解讀
Server.A=B:C:D
  A是一個數字,表示這個是第幾號服務器;
  B是這個服務器的ip地址;
  C是這個服務器與集羣中的Leader服務器交換信息的端口;
  D是萬一集羣中的Leader服務器掛了,需要一個端口來重新進行選舉,選出一個新的Leader,而這個端口就是用來執行選舉時服務器相互通信的端口。

集羣模式下配置一個文件myid,這個文件在dataDir目錄下,這個文件裏面有一個數據就是A的值,Zookeeper啓動時讀取此文件,拿到裏面的數據與zoo.cfg裏面的配置信息比較從而判斷到底是哪個server。

2)解讀zoo.cfg 文件中參數含義
  1)tickTime=2000
  1)tickTime:通信心跳數,Zookeeper服務器心跳時間,單位毫秒.
  Zookeeper使用的基本時間,服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每個tickTime時間就會發送一個心跳,時間單位爲毫秒。
  它用於心跳機制,並且設置最小的session超時時間爲兩倍心跳時間。(session的最小超時時間是2*tickTime)

2)initLimit=10:LF初始通信時限
  2)initLimit:LF初始通信時限
  集羣中的follower跟隨者服務器(F)與leader領導者服務器(L)之間初始連接時能容忍的最多心跳數(tickTime的數量),用它來限定集羣中的Zookeeper服務器連接到Leader的時限。
  投票選舉新leader的初始化時間
  Follower在啓動過程中,會從Leader同步所有最新數據,然後確定自己能夠對外服務的起始狀態。
  Leader允許F在initLimit時間內完成這個工作。
  初始化要乾的事多,所以比同步時間要長一點

3)syncLimit=5:LF同步通信時限
  3)syncLimit:LF同步通信時限
  集羣中Leader與Follower之間的最大響應時間單位,
  假如響應超過syncLimit * tickTime,Leader認爲Follwer死掉,從服務器列表中刪除Follwer。
  在運行過程中,Leader負責與ZK集羣中所有機器進行通信,例如通過一些心跳檢測機制,來檢測機器的存活狀態。如果L發出心跳包在syncLimit之後,還沒有從F那收到響應,那麼就認爲這個F已經不在線了。

4)dataDir:數據文件目錄+數據持久化路徑
  保存內存數據庫快照信息的位置,如果沒有其他說明,更新的事務日誌也保存到數據庫。

5)clientPort=2181:客戶端連接端口
  監聽客戶端連接的端口

集羣操作

1)在/opt/module/zookeeper-3.4.10/zkData目錄下創建一個myid的文件
vi myid
在文件中添加與server對應的編號:hadoop102 爲1, hadoop103爲2, hadoop103 爲3

3)拷貝配置好的zookeeper到其他機器上
  scp -r zookeeper-3.4.10/ [email protected]:/opt/app/
  scp -r zookeeper-3.4.10/ [email protected]:/opt/app/
  並分別修改myid文件中內容爲3、4

4)分別啓動zookeeper

[root@hadoop102 zookeeper-3.4.10]# bin/zkServer.sh start
[root@hadoop103 zookeeper-3.4.10]# bin/zkServer.sh start
[root@hadoop104 zookeeper-3.4.10]# bin/zkServer.sh start

5)查看狀態

[root@hadoop102 zookeeper-3.4.10]# bin/zkServer.sh status
JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower

[root@hadoop103 zookeeper-3.4.10]# bin/zkServer.sh status
JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: leader

[root@hadoop104 zookeeper-3.4.5]# bin/zkServer.sh status
JMX enabled by default
Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章