1,配置zookeeper的集群,一般服务器的个数为奇数,最少3台。
2,首先在每台服务器上安装zookeeper,集群的配置需要修改conf中的zoo.cfg文件,在文件末尾添加如下内容:
server.161=192.168.1.161:2888:3888
server.162=192.168.1.162:2888:3888
server.163=192.168.1.163:2888:3888
3,进入每个服务器的data目录,执行:echo 161 > myid,echo 162 > myid,echo 163 > myid,必须与server后面的编号对应,编号值任意。
4,然后启动zookeeper,查看zookeeper状态,如果是一个leader,多个follower,则集群配置成功。
5,如果虚拟机是Centos,要关闭一下防火墙。
集群配置用到的命令如下:
#将编号写入myid
cd data
echo 161 > myid
#zookeeper启动、查看、停止、重启
cd bin
./zkServer.sh start | status | stop | restart
#Centos防火墙的查看、关闭
systemctl status firewalld.service
systemctl stop firewalld.service
#设置永久关闭防火墙,防止防火墙开机自启
systemctl disable firewalld.service
zookeeper集群特性:
-
一个ZooKeeper集群中,有一个领导者Leader和多个跟随者Follower
-
Leader负责进行投票的发起和决议,更新系统状态
-
Follower用于接收客户端的请求并向客户端返回结果,在选举Leader过程中参与投票
-
半数机制:集群中只要有半数以上节点存活,集群就能够正常工作,所以一般集群中的服务器个数都为奇数
-
全局数据一致:集群中每台服务器保存一份相同的数据副本,不论客户端连接到哪个服务器,数据都是一致的
-
更新请求顺序执行:来自同一个客户端的更新请求,按其发送顺序依次执行
-
数据更新的原子性:一次数据更新,要么成功,要么失败
-
实时性:在一定的时间范围内,客户端能读取到最新数据