1. 程式人生 > >Linux下zookeeper叢集安裝配置

Linux下zookeeper叢集安裝配置

1.下載Zookeeper安裝包
這裡我用到的是zookeeper-3.4.10
下載地址:http://mirror.bit.edu.cn/apache/zookeeper/
2.解壓到指定目錄 
2.1叢集節點
192.168.20.38
192.168.20.52
192.168.20.111
2.2解壓縮(三臺機器都執行)
將zookeeper-3.4.10.tar.gz上傳至home目錄
cd /home/
tar -zxvf zookeeper-3.4.10.tar.gz
修改資料夾名稱
mv zookeeper-3.4.10 zookeeper
修改配置檔名
mv /home/zookeeper/conf/zoo_sample.cfg /home/zookeeper/conf/zoo.cfg
建立資源目錄
mkdir -p /home/tmp/zookeeper/{data,log}
2.3修改zoo.cfg配置檔案(三臺機器都修改)
vi /home/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/tmp/zookeeper/data
dataLogDir=/home/tmp/zookeeper/log   
clientPort=2181
#Clusters
server.1=192.168.20.38:12888:13888
server.2=192.168.20.52:12888:13888
server.3=192.168.20.111:12888:13888
2.4分別在data檔案新增myid檔案
192.168.20.38
cd /home/tmp/zookeeper/data
echo "1" > myid
192.168.20.52
cd /home/tmp/zookeeper/data
echo "2" > myid
192.168.20.111
cd /home/tmp/zookeeper/data
echo "3" > myid
可以分別開啟myid檔案檢視內容: 
cat myid
2.5啟動Zookeeper 
cd /home/zookeeper/bin
啟動Zookeeper命令:
./zkServer.sh start
檢視叢集的狀態:
./zkServer.sh status
2.6驗證zookeeper的高可靠性:
關掉其中一臺機器上的zookeeper,檢視其他兩臺機器上zookeeper的status。
在zookeeper的選舉過程中,為了保證選舉過程最後能選出leader,就一定不能出現兩臺機器得票相同的僵局,
所以一般的,要求zk叢集的server數量一定要是奇數,也就是2n+1臺,並且,如果叢集出現問題,
其中存活的機器必須大於n+1臺,否則leader無法獲得多數server的支援,系統就自動掛掉。
所以一般是3個或者3個以上節點。
3.zoo.cfg配置檔案引數說明
tickTime:這個時間是作為Zookeeper 伺服器之間或客戶端與伺服器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發送一個心跳。
dataDir:顧名思義就是 Zookeeper儲存資料的目錄,預設情況下,Zookeeper 將寫資料的日誌檔案也儲存在這個目錄裡。
dataLogDir:顧名思義就是Zookeeper 儲存日誌檔案的目錄。
clientPort:這個埠就是客戶端連線Zookeeper 伺服器的埠,Zookeeper 會監聽這個埠,接受客戶端的訪問請求。
12888埠:代表訪問Zookeeper的埠 
13888埠:代表重新選舉leader的埠
4.參考資料
http://blog.csdn.net/ggibenben1314/article/details/47732381
http://blog.csdn.net/hejingyuan6/article/details/47403299
http://blog.csdn.net/hejingyuan6/article/details/47405377
http://blog.csdn.net/yinkgh/article/details/52301063