==========================================================
安裝:
==========================================================
參考:https://www.cnblogs.com/ysocean/p/9860529.html
下載地址:
http://mirror.bit.edu.cn/apache/zookeeper/
本次選擇zookeeper-3.5.8版本注意下載那個帶bin的,文件大小大些的apache-zookeeper-3.5.8-bin.tar.gz
http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.8/

0. 安裝前准備:
規划3個節點:
hosts主機都已經配置好映射,映射主機名分別為master,slave1,slave2,且已經進行ssh免密配置,確保端口互通,防火牆關閉
1. tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz
2. 配置conf下配置文件
(1)在ZooKeeper安裝目錄下新建文件夾data,用於存放ZooKeeper相關數據。
mkdir data
(2)在ZooKeeper安裝目錄下的conf文件夾中新建配置文件zoo.cfg,
cp zoo_sample.cfg zoo.cfg
修改以下內容:
dataDir=/opt/soft/zookeeper/apache-zookeeper-3.5.8-bin/data
增加以下信息:比如配置master
server.0=master:2888:3888
server.1=slave1:2888:3888
server.2=slave2:2888:3888
(3) dataDir 指定的目錄下,創建 myid 文件
對應主機中該文件中寫上server.x 即可,如master寫0
(4) 配置環境變量
轉到root用戶,首先進入到 /etc/profile 目錄,添加相應的配置信息:
#set zookeeper environment
export ZK_HOME=/opt/soft/zookeeper/apache-zookeeper-3.5.8-bin/
export PATH=$PATH:$ZK_HOME/bin
然后通過如下命令使得環境變量生效:
source /etc/profile
復制到其他節點:
scp -r /opt/soft/zookeeper/apache-zookeeper-3.5.8-bin/ hadoop@slave1:/opt/soft/zookeeper/
scp -r /opt/soft/zookeeper/apache-zookeeper-3.5.8-bin/ hadoop@slave2:/opt/soft/zookeeper/
============================================================
啟動zookeeper服務
============================================================
啟動命令:
zkServer.sh start
停止命令:
zkServer.sh stop
重啟命令:
zkServer.sh restart
查看集群節點狀態:
zkServer.sh status
我們分別對集群三台機器執行啟動命令。執行完畢后,分別查看集群節點狀態:
三台機器,slave1 成功的通過了選舉稱為了leader,而剩下的兩台成為了 follower。這時候,如果你將slave1關掉,會發現剩下兩台又會有一台變成了 leader節點。


==========================================================
常見問題:
==========================================================
3.5.8的啟動問題
問題現象: 啟動報錯 Starting zookeeper ... FAILED TO START
原因:實際上應該是你下載錯了文件。在官網上有兩個tar.gz文件,從目前的最新版本3.5.5開始,帶有bin名稱的包才是我們想要的下載可以直接使用的里面有編譯后的二進制的包,而之前的普通的tar.gz的包里面是只是源碼的包無法直接使用。 親測已解決
搭建問題
如果沒有出現上面的狀態,說明搭建過程出了問題,那么解決問題的首先就是查看日志文件:
zookeeper 日志文件目錄在:
dataDir 配置的目錄下,文件名稱為:zookeeper.out。通過查看日志來解決相應的問題。下面是兩種常見的問題:
①、防火牆為關閉
查看防火牆狀態:
service iptables status
關閉防火牆:
chkconfig iptables off
②、dataDir 配置的目錄沒有創建
在 zoo.cfg 文件中,會有對 dataDir 的一項配置,需要創建該目錄,並且注意要在該目錄下創建 myid 文件,里面的配置和 zoo.cfg 的server.x 配置保持一致。
