介紹
ZooKeeper是一個分佈式的,開放源碼的分佈式應用程序協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。它是一個爲分佈式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分佈式同步、組服務等。簡單來說zookeeper=文件系統+監聽通知機制。
安裝
1.查看系統是否有zookeeper
ps aux | grep 'zookeeper'
Whereis zookeeper
2.在瀏覽器地址欄輸入鏈接進行下載並放置到目標服務器上
http://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
3.解壓文件夾
tar -zxvf zookeeper-3.4.6.tar.gz
4.創建軟連接,方便版本更換
ln -s zookeeper-3.4.6 zookeeper
5.進入到zookeeper的conf目錄
zookeeper的配置文件叫做zoo.cfg,這裏邊沒有,我們把 zoo_sample.cfg 拷貝一份出來
6.修改配置
dataDir是zookeeper的數據目錄,可以任意選擇,但是這個目錄必須要提前創建好,zookeeper是不會幫你創建的
dataDir=/home/zookeeper/data/zookeeper/
dataLogdir是zookeeper的日誌目錄,應該要謹慎的選擇日誌目錄,如果將日誌存放在比較繁忙的設備上,將大大影響系統性能
dataLogDir=/home/zookeeper/data/log/
限制zookeeper的客戶端鏈接數量,設置爲0或者不設置表示取消對併發連接的設置
maxClientCnxns=0
最小會話超時時間和最大會話超時時間
minSessionTimeout=4000
maxSessionTimeout=10000
server.id 其中1表示這是第幾號server,用來做集羣中的區別的10.17.87.176是該server所在的ip地址
2888是該server和集羣中的leader通信端口,3888是選舉leader的端口
server.1=10.17.87.176:2888:3888
在之前設置的dataDir中新建myid文件,寫入一個數字,該數字表示這是第幾號server,該數字必須和zoo.cfg文件中的server.X中的X一 一對應
更改後的文件如下:
啓動
進入到zookeeper的安裝目錄 執行bin/zkServer.sh start
bin/zkServer.sh start
發現報錯,java文件不存在(linux版本java是一個二進制文件)
然後我們自定義java路徑
然後進入zookeeper安裝目錄bin/zkServer.sh start 啓動zookeeper
然後通過jps命令查看進程,有QuorumPeerMain這個進程則啓動成功
接下里進入zookeeper的客戶端查看
進入zookeeper的安裝目錄執行bin/zkCli.sh,輸入ls / 發現有一個zookeeper節點
bin/zkServer.sh stop 停止
bin/zkServer.sh stop