1.下载zookeeper
- 1
- 1
2.解压zookeeper-3.4.6.tar.gz并重命名为zookeeper
- 1
- 2
- 1
- 2
3.创建保存zookeeper数据文件夹
- 1
- 1
4.修改zookeeper配置文件
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
server.id=host:port:port解析
每一行此配置表示一个集群中的一台服务器。其中id为Server ID,用来标识该机器在集群中的编号。同时,在所在服务器的数据目录(/var/lib/zookeeperDatadir)下创建一个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文件中的数字不同。
5.复制zookeeper到另外两台参与集群的机器上
- 1
- 2
- 1
- 2
6.每台服务器上配置相应的myid文件
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
7.启动和关闭zookeeper
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
8.在三个机器上依次单独执行命令挨个启动zookeeper.分别查看zookeeper状态,正常状态下:
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
如果执行 ./zkServer.sh status报错(Error contacting service. It is probably not running)
请关闭防火墙且禁止防火墙开机启动,然后重启虚拟机或机器即可。
9.需要注意的是一般zookeeper集群由3~5台服务器组成,即2n+1台机器