主要步骤
- 压缩包拷到各个机器,解压
- 修改conf/zoo.cfg,配置数据目录dataDir,配置机器server.[myid]=ip:port:port,有多少台就配多少个,myid为不能重复的数字,注意有2个端口号,第一个用来正常通讯,比如follower同步leader数据,第二个用来选举leader
- 在dataDir目录下新建myid文件,每台zk对应一个数字
- 分别启动zk,zkServer.sh status查看状态
详细步骤
复制到/opt下3个目录:
分别修改zoo.cfg
dataDir=/opt/zookeeper-cluster-1/data
# the port at which the clients will connect
clientPort=1111
server.1=192.168.127.137:1144:1155
server.2=192.168.127.137:2244:2255
server.3=192.168.127.137:3344:3355
dataDir=/opt/zookeeper-cluster-2/data
# the port at which the clients will connect
clientPort=2222
server.1=192.168.127.137:1144:1155
server.2=192.168.127.137:2244:2255
server.3=192.168.127.137:3344:3355
dataDir=/opt/zookeeper-cluster-3/data
# the port at which the clients will connect
clientPort=3333
server.1=192.168.127.137:1144:1155
server.2=192.168.127.137:2244:2255
server.3=192.168.127.137:3344:3355
创建myid文件并写入server id:
[root@localhost opt]# echo 1 > zookeeper-cluster-1/data/myid
[root@localhost opt]# echo 2 > zookeeper-cluster-2/data/myid
[root@localhost opt]# echo 3 > zookeeper-cluster-3/data/myid
启动
[root@localhost opt]# zookeeper-cluster-1/bin/zkServer.sh start
[root@localhost opt]# zookeeper-cluster-2/bin/zkServer.sh start
[root@localhost opt]# zookeeper-cluster-3/bin/zkServer.sh start
查看状态,发现2为leader
[root@localhost opt]# zookeeper-cluster-1/bin/zkServer.sh status
/opt/jdk1.8.0_144/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-cluster-1/bin/../conf/zoo.cfg
Client port found: 1111. Client address: localhost. Client SSL: false.
Mode: follower
[root@localhost opt]# zookeeper-cluster-2/bin/zkServer.sh status
/opt/jdk1.8.0_144/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-cluster-2/bin/../conf/zoo.cfg
Client port found: 2222. Client address: localhost. Client SSL: false.
Mode: leader
[root@localhost opt]# zookeeper-cluster-3/bin/zkServer.sh status
/opt/jdk1.8.0_144/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-cluster-3/bin/../conf/zoo.cfg
Client port found: 3333. Client address: localhost. Client SSL: false.
Mode: follower