zookeeper集群搭建
1.集群选举策略
zookeeper集群后通过投票选举leader,选举时选通过判断zxid大小确定leader,如果zxid都相等在通过判断myid的大小,myid值越大优先被选中当leader。(第一个启动的zk服务只能投自己,选举是遵循过半机制的 zxid指的是每个节点最后一次做事务写的请求时生成的id默认为0,zxid值越大说明当前节点的数据为最新的数据)
2.集群节点总数应该为奇数
zookeeper服务器宕机个数必须小于运行中服务器个数(剩余节点(启动zk节点)>集群总节点数/2)
3.集群搭建
1)进入conf目录修改zoo.cfg文件
cd /usr/local/zookeeper-3.4.14/conf/

添加3台服务器节点信息

2)进入data目录添加myid文件
将192.168.100.130节点的myid设置成1

3)删除data目录中的文件

4)克隆192.168.100.130服务器,设置克隆服务器的myid文件,zook.conf文件添加机器节点信息
克隆机192.168.100.131 myid=2
克隆机192.168.100.132 myid=3
机器节点信息
server.1=192.168.100.130:2888:3888
server.2=192.168.100.131:2888:3888
server.3=192.168.100.132:2888:3888
5)关闭所有服务器防火墙
systemctl stop firewalld.service
6)启动关闭查看状态
./zkServer.sh start 启动
./zkServer.sh stop 关闭
./zkServer.sh status 查看zookeeper状态
7)显示如下效果说明集群搭建成功
131为主 130与132为从节点



8)zkServer.sh status 报错解决方法
- 防火墙未关闭
- 查看zoo.cfg文件配置是否正确,dataLogDir指定的目录是否被创建
- myid文件中的整数格式不对,或者与zoo.cfg中的server整数不对应
- zookeeper的2181端口被占用
-
克隆机的ifcfg-ensXX文件的UUID重复
图片.png