環境約定:

system os: centos 6
java version: "1.8.0_191"
zookeeper version: 3.4.13
zookeeper1 ip: 192.168.10.101
zookeeper2 ip: 192.168.10.102
zookeeper3 ip: 192.168.10.103
zookeeper_prefix: /data/opt/zookeeper-3.4.13
zookeeper_data_dir: /data/zookeeper
zookeeper_conf_dir: $zookeeper_prefix/conf

準備:

1.將下載好的zookeeper-3.4.13.tar.gz 解壓到/data/opt 目錄

tar zxf zookeeper-3.4.13.tar.gz -C /data/opt/

2.創建java 環境變量文件
vim $zookeeper_prefix/conf/java.env

JAVA_HOME="/DATA/opt/jdk1.8.0_191"

3.創建配置文件
vim $zookeeper_prefix/conf/zoo.cfg

tickTime=2000
initLimit=5
syncLimit=2
dataDir=/data/zookeeper
dataLogDir=/data/logs/zookeeper
clientPort=2181
server.1=192.168.10.101:2888:3888
server.2=192.168.10.102:2888:3888
server.3=192.168.10.103:2888:3888

4.創建zookeeper data 及log目錄

mkdir /data/zookeeper
mkdir /data/logs/zookeeper

!在三臺主機上進行以上相同操作,保證配置一致

5.創建myid文件
myid 文件類型爲文本文件,內容爲集羣內唯一id,并且值爲1到255之间。
server.1主機的myid爲‘1’,server.2主機的myid爲‘2’其餘主機以此類推。
vim /data/zookeeper/myid

1

6.啓動服務實例

 /data/opt/zookeeper-3.4.13/bin/zkServer.sh start
  1. 分別在三臺主機上執行命令驗證狀態
    /data/opt/zookeeper-3.4.13/bin/zkServer.sh status

    類似如下輸出

    ZooKeeper JMX enabled by default
    Using config: /data/opt/zookeeper-3.4.13/bin/../conf/zoo.cfg
    Mode: follower

集羣注意事項

要創建可以容忍F個主機故障的部署,集羣主機個數的計算方式爲2×F+1.因此,由三臺主機組成的集羣可以容忍1臺主機故障,而五臺主機可以處理兩臺主機故障。
zookeeper集羣通常由奇數個主機組成。

參考資料

https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_zkMulitServerSetup