1.下载解压安装包:
[root@iZ2398vqlp1Z ~]# wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz
--2018-01-03 20:10:07-- https://archive.apache.org/dist/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz
Resolving archive.apache.org (archive.apache.org)... 163.172.17.199
Connecting to archive.apache.org (archive.apache.org)|163.172.17.199|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 22261552 (21M) [application/x-gzip]
Saving to: ‘zookeeper-3.4.8.tar.gz’
100%[=======>] 22,261,552 2.58MB/s in 12s
2018-01-03 20:10:20 (1.84 MB/s) - ‘zookeeper-3.4.8.tar.gz’ saved [22261552/22261552]
[root@iZ2398vqlp1Z ~]# cd /usr/local
[root@iZ2398vqlp1Z local]# tar -zxf /root/zookeeper-3.4.8.tar.gz
2.修改配置文件:
请修改为自己服务器的IP地址,该处为示例:
[root@iZ2398vqlp1Z local]# cd zookeeper-3.4.8/
[root@iZ2398vqlp1Z zookeeper-3.4.8]# cp conf/zoo_sample.cfg conf/zoo.cfg
[root@iZ2398vqlp1Z zookeeper-3.4.8]# cd conf
[root@iZ2398vqlp1Z conf]# vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-3.4.8/data
clientPort=2181
server.1=120.22.333.124:2555:3555
server.2=121.22.333.125:2555:3555
server.id=host:port:port解析
每一行此配置表示一个集群中的一台服务器。其中id为Server ID,用来标识该机器在集群中的编号。同时,在所在服务器的数据目录(/usr/local/zookeeper-3.4.8/data)下创建一个myid文件,该文件只有一行内容,并且是一个数字,就是对应每台服务器的Server ID数字。
比如server.1=IP1:2888:3888的myid中的内容就是1。不同服务器的ID需要保持不同,并且和zoo.cfg文件中server.id中的id和myid文件的内容保持一致。id的取值范围为1~255。
其中,server.id中配置参数的第一个port是集群中其他机器与Leader之间通信的端口,第二个port为当Leader宕机或其他故障时,集群进行重新选举Leader时使用的端口。
按照以上相同步骤,配置集群中的其他机器。每个集群的zoo.cfg文件都是相同的,可通过版本控制或其他工具保证每台zookeeper服务器的配置文件相同。集群中每台机器唯一不同的是server.id对应的myid文件中的数字不同。
[root@iZ2398vqlp1Z conf]# cd ..
[root@iZ2398vqlp1Z zookeeper-3.4.8]# cd data
[root@iZ23o9znv1zZ zookeeper-3.4.8]# mkdir data
[root@iZ2398vqlp1Z data]# echo 1 > myid
[root@iZ2398vqlp1Z data]# vim myid
1
1对应上诉配置文件中server.1的1,在不同的服务器配置对应的id
3.启动服务并测试:
[root@iZ23o9znv1zZ data]# cd ..
[root@iZ23o9znv1zZ zookeeper-3.4.8]# cd bin
[root@iZ23o9znv1zZ bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.8/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@iZ23o9znv1zZ bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: leader
Mode:leader即该结点为集群的Leader,其余结点为follower