以下是3個節點的zk安裝記錄。
下載
下載地址: http://mirrors.shu.edu.cn/apache/zookeeper/
cd /data/opt/zk
wget http://mirrors.shu.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
tar -zxvf zookeeper-3.4.13.tar.gz
創建文件夾
zk需要data目錄和日志目錄。
mkdir -p /data/opt/zk/data
mkdir -p /data/opt/zk/log
修改配置文件
cd /data/opt/zk/zookeeper-3.4.13/conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
#zoo.cfg中修改相關參數:
#tickTime是zookeeper中的基本時間單位,此處用於定義一個ticktime是多長,單位毫秒
tickTime=2000
#存儲內存中的數據庫快照的位置,如果沒有指定dataLogDir,還將存儲數據庫更新的事務日志
dataDir=/data/opt/zk/data
#這里的data文件夾需要自己創建
#數據庫事務日志的位置
dataLogDir=/data/opt/zk/log
#這里的log文件夾需要自己創建
#為了客戶端連接而偵聽的端口
clientPort=2181
#允許Follower連接並與Leader同步的時長,單位是tickTime
initLimit=5
#允許Follower與ZooKeeper同步的時長,單位是tickTime
syncLimit=2
#組成ZooKeeper的成員服務器。server.x的x是服務器號,與對應服務器dataDir中myid文件內的號碼一致。
#指定兩個端口號,前一個用於Follower連接Leader,后一個用於Leader選舉。
server.1=192.168.1.1:2888:3888
server.2=192.168.1.2:2888:3888
server.3=192.168.1.3:2888:3888
#這是分布式環境的配置,如果是在單機上配置,則需要修改成不同的端口號
然后將zk文件夾整個復制到其他兩個節點
scp -r /data/opt/zk root@192.168.1.2:/data/opt/
scp -r /data/opt/zk root@192.168.1.3:/data/opt/
創建myid
#master
echo "1">/data/opt/zk/data/myid
#slave1
echo "2">/data/opt/zk/data/myid
#slave2
echo "3">/data/opt/zk/data/myid
啟動
分別啟動三個節點
cd /data/opt/zk/zookeeper-3.4.13/bin
sh zkServer.sh start
查看節點狀態:
# 節點之2
# sh zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /data/opt/zk/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: follower
# 節點之1
# sh zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /data/opt/zk/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: leader
設置開機啟動
echo "
sh /data/opt/zk/zookeeper-3.4.13/bin/zkServer.sh start
" > /etc/profile.d/zk.sh
連接查看
sh zkCli.sh
WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] ls /
[dubbo, zookeeper]
sh zkCli.sh -server 192.168.1.2:2181