一、集群规划
1、在本地VM上攒三台虚拟机,并且在每台虚拟机上部署好JDK、Zookeeper单节点
192.168.50.133
192.168.50.134
192.168.50.135
注意:如果单节点的JDK和Zookeeper安装,详细看这篇文章
https://blog.csdn.net/xiaozhegaa/article/details/106207456
二、配置服务器编号
1、在在/opt/module/zookeeper-3.4.10/zkData下创建 一个myid文件
vim myid
写入机器编号,这里我把三台机器编号设置为:133 134 135
其他两台机器同样操作,不能把机器编号设置成一样的,需要更改为:134 135
三、配置zoo.cfg文件
注意:修改数据存储的位置,dataDir,这点在单机部署的时候需要修改哦,如果不清楚的,详细看单节点安装那篇文章
增加如下配置
##############cluster##############
server.133=192.168.50.133:2888:3888
server.134=192.168.50.134:2888:3888
server.135=192.168.50.135:2888:3888
配置参数解读
server.A=B:C:D
A是一个数字,表示这个是第几号服务器;
集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。
B是这个服务器的ip地址;
C是这个服务器与集群中的Leader服务器交换信息的端口;
D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
四、集群操作
4.1 分别启动Zookeeper
// 启动第一台节点
./zkServer.sh start
// 查看转台
./zkServer.sh status
// 启动第二台节点
./zkServer.sh start
// 查看转台
./zkServer.sh status
此时:第二个阶段为Leader得到两票选举
此时,查看第一个阶段的状态:变成follower了
// 启动第三台节点
./zkServer.sh start
// 查看转台
./zkServer.sh status
至此,ZK集群就已经搭建好了
希望对大家有帮助!