ZooKeeper——伪集群
程序员文章站
2022-07-04 21:33:20
...
生产环境下的zookeeper应该采用服务器集群,但是我没那么多台机器,只好在一台机器上部署多个zookeeper实例来模拟集群。本文以3个zookeeper实例集群为例。
1.首先创建在conf目录下复制出3个配置文件
zoo1.cfg
tickTime=2000 dataDir=/home/lan/server1/zookeeper clientPort=2181 initLimit=5 syncLimit=2 server.1=127.0.0.1:2888:3888 server.2=127.0.0.1:2887:3887 server.3=127.0.0.1:2886:3886
zoo2.cfg
tickTime=2000 dataDir=/home/lan/server2/zookeeper clientPort=2182 initLimit=5 syncLimit=2 server.1=127.0.0.1:2888:3888 server.2=127.0.0.1:2887:3887 server.3=127.0.0.1:2886:3886
zoo3.cfg
tickTime=2000 dataDir=/home/lan/server3/zookeeper clientPort=2183 initLimit=5 syncLimit=2 server.1=127.0.0.1:2888:3888 server.2=127.0.0.1:2887:3887 server.3=127.0.0.1:2886:3886
2.在dataDir下创建myid文件,文件内容server.x中的x
第一个实例中在/home/lan/server1/zookeeper/myid文件中输入1
第二个实例中在/home/lan/server2/zookeeper/myid文件中输入2
第三个实例中在/home/lan/server3/zookeeper/myid文件中输入3
3.启动三个实例
bin/zkServer.sh start zoo1.cfg
bin/zkServer.sh start zoo2.cfg
bin/zkServer.sh start zoo3.cfg
4.查看三个实例的状态
由截图可以看出第二个实例被选为了leader
5.停止第二个实例(leader),可以看出第三个实例被选为leader了
6.重新启动第二个实例,第二个实例重新加入集群,但变为follower
7.在某个实例上创建数据,在其余两个实例中获取数据