一、vmware Centos6.5虛擬機準備
1. 使用同一用戶learn ,安裝三臺CentOS6.5系統虛擬機,分別爲vm1, vm2, vm3。
2. 通過NAT或者橋接模式分別爲vm1,vm2, vm3設置網絡。文中採用NAT方式, ip地址分別爲:
vm1: 192.168.60.128 vm1.learn.com
vm2: 192.168.60.130 vm2.learn.com
vm2: 192.168.60.131 vm3.learn.com
保證相互之間可以ping通, 且/etc/hosts文件配置各節點host。
3. 爲每臺機器設置SSH免密登錄, 參見:https://blog.csdn.net/zhujq_icode/article/details/82629745
二、安裝Zookeeper集羣
1. 下載Zookeeper安裝包,本文下載的是:zookeeper-3.4.13.tar.gz
2. 解壓安裝包至安裝目錄 /home/learn/app/zookeeper/
tar -zxvf zookeeper-3.4.13.tar.gz -C /home/learn/app/zookeeper
3. vm1修改zoo.cfg配置文件, 設置集羣節點。(若節點間連接有問題,可將本機的server改成:如vm1的, server.1=0.0.0.0:2888:3888)
dataDir=/home/learn/data/zookeeper/data
dataLogDir=/home/learn/data/zookeeper/logs
server.1=vm1.learn.com:2888:3888
server.2=vm2.learn.com:2888:3888
server.3=vm3.learn.com:2888:3888
4. 複製安裝包及配置文件至vm2, vm3機器。
5. 爲各個節點設置server id 和zoo.cfg配置的一致, 如server.1=vm1.learn.com:2888:3888,這vm1的zookeeper節點的server id爲1。
在dataDir=/home/learn/data/zookeeper/data目錄下,生成一個配置文件myid,配置內容即爲對應的id值, 如:
//vm1機器
echo 1 > /home/learn/data/zookeeper/data/myid
//vm2機器
echo 2 > /home/learn/data/zookeeper/data/myid
//vm3機器
echo 3 > /home/learn/data/zookeeper/data/myid
6. 啓動各個節點
cd /home/learn/app/zookeeper/zookeeper-3.4.13/bin
//啓動zookeeper
./zkServer.sh start
//查看啓動狀態mode: follower 還是 leader
./zkServer.sh status
//停止zookeeper
./zkServer.sh start
7. 觀察啓動日誌
/home/zhujq/app/zookeeper/zookeeper-3.4.13/bin/zookeeper.out
很多錯誤都可以在此發現並得到解決。
三、Connect Refused 或者 Connect time out
1. 檢查是否設置server id, myid配置文件位置,值是否正確。
2. /etc/hosts文件是否正確設置了各節點host。
3. 防火牆是否允許zookeeper端口訪問,
//檢查防火牆狀態
service iptables status
//暫時關閉防火牆, 重啓之後,防火牆也會開啓
service iptables stop
//啓動防火牆
service iptables start
//永久關閉防火牆, 開機不啓動防火牆
service iptables stop
chkconfig iptables off
//開機啓動防火牆
chkconfig iptables on