1,配置zookeeper的集羣,一般服務器的個數爲奇數,最少3臺。
2,首先在每臺服務器上安裝zookeeper,集羣的配置需要修改conf中的zoo.cfg文件,在文件末尾添加如下內容:
server.161=192.168.1.161:2888:3888
server.162=192.168.1.162:2888:3888
server.163=192.168.1.163:2888:3888
3,進入每個服務器的data目錄,執行:echo 161 > myid,echo 162 > myid,echo 163 > myid,必須與server後面的編號對應,編號值任意。
4,然後啓動zookeeper,查看zookeeper狀態,如果是一個leader,多個follower,則集羣配置成功。
5,如果虛擬機是Centos,要關閉一下防火牆。
集羣配置用到的命令如下:
#將編號寫入myid
cd data
echo 161 > myid
#zookeeper啓動、查看、停止、重啓
cd bin
./zkServer.sh start | status | stop | restart
#Centos防火牆的查看、關閉
systemctl status firewalld.service
systemctl stop firewalld.service
#設置永久關閉防火牆,防止防火牆開機自啓
systemctl disable firewalld.service
zookeeper集羣特性:
-
一個ZooKeeper集羣中,有一個領導者Leader和多個跟隨者Follower
-
Leader負責進行投票的發起和決議,更新系統狀態
-
Follower用於接收客戶端的請求並向客戶端返回結果,在選舉Leader過程中參與投票
-
半數機制:集羣中只要有半數以上節點存活,集羣就能夠正常工作,所以一般集羣中的服務器個數都爲奇數
-
全局數據一致:集羣中每臺服務器保存一份相同的數據副本,不論客戶端連接到哪個服務器,數據都是一致的
-
更新請求順序執行:來自同一個客戶端的更新請求,按其發送順序依次執行
-
數據更新的原子性:一次數據更新,要麼成功,要麼失敗
-
實時性:在一定的時間範圍內,客戶端能讀取到最新數據