zookeeper作为主流的分布式协调工具,其影响力不言而喻,下文简称ZK。ZK内部有套Paxios算法实现的Master选举机制,假设有三台机器,Master节点挂掉了,会自动从剩下的两台Slave机器中选举出一个新的Master,从而还是主从结构,实现了高可用。要搭建ZK集群,有以下几步。
1.安装
参考我的文章https://blog.csdn.net/a_lwh____/article/details/106741408
2.从默认的配置文件拷贝几份出来,修改使用(我搭建的是伪分布式,真分布式仅需要在每台机器上拷贝一份,如zoo.cfg)
cp zoo_sample.cfg zoo1.cfg
cp zoo_sample.cfg zoo2.cfg
cp zoo_sample.cfg zoo3.cfg
3.配置myid,必须配置
server.0=192.168.100.1:2888:3888
server.1=192.168.100.2:2888:3888
server.2=192.168.100.3:2888:3888
在cfg文件最后面追加三行配置,server后面的0、1、2就是myid了,如果是真分布式,三台服务器上这个文件的配置是一样的,每台机器上都要配置一份。注意了,这里有两个端口2888和3888,左边这个2888是Leader(也可以叫作Master)的选举端口,ZK在这个端口上完成主节点的选举,右边这个3888是ZK服务器之间的通信端口。
4.创建myid文件
touch myid //在data目录创建myid文件,data目录,每个cfg文件中会配置dataDir
vim myid //打开这个myid文件,然后写入数字0、1或2,根据具体情况而定,哪台机器就写入哪个数字,退出保存myid文件
5.启动
zkServer.sh start //启动每台机器的ZK,搞定