Zookeeper集羣搭建


Zookeeper簡單介紹

Zookeeper官方:ZooKeeper是一個分佈式的,開放源碼的分佈式應用程序協調服務,是Google的Chubby開源的實現,是Hadoop和Hbase的重要組件。它是一個爲分佈式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分佈式同步、組服務等。

Zookeeper單機模式搭建

  環境:Centos 7、jdk1.8、zookeeper-3.4.10

  • 下載 Zookeeper【Zookeeper官網
  • 解壓:tar -zxvf zookeeper-3.4.10.tar.gz
  • 進入 zookeeper-3.4.10/conf 目錄將 zoo_sample.cfg 文件名修改爲 zoo.cfg:mv zoo_sample.cfg zoo.cfg
  • 進入 zookeeper-3.4.10/conf 目錄啓動 Zookeeper :sh zkServer.sh start
  • 驗證是否啓動成功:sh zkServer.sh status(最後一行出現 standalone 則成功)
    在這裏插入圖片描述
  • 連接 Zookeeper
 sh zkCli.sh

在這裏插入圖片描述

Zookeeper集羣模式搭建

  • 修改 zoo.cfg 文件,在 zoo.cfg 文件中添加如下配置:
### server.A=B:C:D
### A:第幾號服務器,B:服務IP,C:leader 和 follower 通訊端口,D:備用 leader 端口
server.1=192.168.43.200:2188:2888
server.2=192.168.43.201:2188:2888
server.3=192.168.43.202:2188:2888
  • 將 zookeeper 拷貝到另外兩臺機器
scp -r zookeeper-3.4.10/ [email protected]:/tools
scp -r zookeeper-3.4.10/ [email protected]:/tools
  • 設置 myid 文件,告訴 Zookeeper 當前是哪一臺服務器
### 設置 1 號服務器
echo "1" >/tmp/zookeeper/myid
### 設置 2 號服務器
echo "2" >/tmp/zookeeper/myid
### 設置 3 號服務器
echo "3" >/tmp/zookeeper/myid
  • 順序啓動這三個 Zookeeper 服務器
  • 驗證啓動是否成功,打印日誌最後一行出現 leader 或 follower 則啓動成功
  • 連接 Zookeeper 服務
sh zkCli.sh -server 192.168.43.201:2181,192.168.43.200:2181,192.168.43.202:2181

在這裏插入圖片描述

Zookeeper集羣角色介紹

  • Leader:
      ZooKeeper集羣的主節點,負責響應所有對ZooKeeper狀態變更的請求。會將每個狀態更新請求進行排序和編號,以便保證整個集羣內部消息處理的FIFO,寫操作都走 leader,ZK中只有一個 leader
  • Follower :
      Followe響應本服務器上的讀請求外,處理leader的提議,leader提交該提議時在本地也進行提交。
      注意:
        leader 和follower 構成ZooKeeper集羣的法定人數,也就是說,只有他們才參與新leader的選舉、響應leader的提議。 幫助leader處理讀請求,有投票權選舉 leader。
  • Observer :
      提高讀取吞吐量。observer 不需要將事務持久化到磁盤,若 observer 被重啓,需要 leader 重新同步整個名字空間。 沒有投票權利(因爲 observer 不屬於法定人數),只可以處理讀請求
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章