一、官方網站下載zookeeper-3.4.5:http://www.apache.org/dyn/closer.cgi/zookeeper/
二、將下載得到的zookeeper-3.4.5.tar.gz放到指定的目錄中,自己統一放在了/home/{用戶名}下,tar解壓縮,創建zookeeper鏈接ln -s zookeeper-3.4.5 zookeeper
三、設置環境變量:
爲了方便運行zkServer.sh腳本,我們將zookeeper的bin路徑加入到.bashrc中,作爲一個變量進行輸出到PATH中,記得修改完成之後斷開鏈接,重新登錄使修改生效。
export ZOOKEEPER_HOME=/home/{用戶名}/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf
將.bashrc複製到其他節點
四、建立zookeeper配置文件(可以先在一個節點上配置,然後複製到其他節點即可)
進入到zookeeper的conf/中,將zoo_sample.cfg拷貝成zoo.cfg:
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/home/{用戶名}/zookeeper-data
# the port at which the clients will connect
clientPort=2181
#下面是參與的4個節點
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
server.4=node4:2888:3888
端口2181,設置dataDir爲一個指定目錄存放zookeeper的協調數據,最後添加集羣中的節點。接下來需要根據server.X的號碼在相應的節點上的dataDir下建立myid文件,輸入自身的“X”作爲內容即可,比如node1節點上的myid只輸入1即可。
五、複製zookeeper-3.4.5到其他各節點
這裏使用scp -r zookeeper-3.4.5/ hadoop@node1:實現,注意每個節點的dataDir下的myid文件要修改成自身的Server-X號碼
六、運行zkServer.sh
在所有節點上分別運行zkServer.sh start命令
這裏需要注意第一個節點啓動zookeeper時由於集羣的其他節點未啓動zookeeper,因此使用zkServer.sh status命令查看當前狀態時會提示錯誤;但是隨着後續節點的zookeeper的陸續啓動,使用status查看狀態時會顯示當前節點的狀態,有一個節點作爲了leader。