zookeeper集群部署
ZooKeeper集群提供了高可用性和一致性,可以用于实现分布式锁、选举、配置管理等功能。在生产环境中,建议至少使用3个或更多的ZooKeeper节点以实现容错性和高可用性。
一、环境准备
准备至少3台服务器,分别安装上JKD ,3台服务器可以相互通讯
192.168.3.100
192.168.3.102
192.168.3.103
二、安装zookeeper
在任意一台服务安装zookeeper,然后远程拷贝过去,修改myid即可
下载zookeeper到服务器上,并进行解压
1 [root@node1 local]# tar xvf apache-zookeeper-3.7.1-bin.tar.gz -C ./zookeeper3.7.1
如果目录太长不好记或者,需要移动可以自行整理
1 [root@node1 local]#mv apache-zookeeper-3.7.1-bin zookeeper371
三、修改zoo.cfg文件
解压包自带配置文件zoo_sample.cfg,改为zoo.cfg
1 [root@node3 zookeeper3.7.1]# mv zoo_sample.cfg zoo.cfg
创建data和logs文件夹用于存放数据和日志
1 [root@node3 zookeeper3.7.1]# mkdir data logs
编辑zoo.cfg文件
1 [root@node3 zookeeper3.7.1]# vim ./conf/zoo.cfg 2 #修改以下内容 3 dataDir=/usr/local/zookeeper/data 4 dataLogDir=/usr/local/zookeeper/logs 5 clientPort=2181 6 server.1=192.168.3.100:2888:3888 7 server.2=192.168.3.102:2888:3888 8 server.3=192.168.3.103:2888:3888 9 #2888表示zookeeper程序监听端口,3888表示zookeeper选举通信端口。
在data文件夹中创建myid文件
1 echo "1" >/usr/local/zookeeper3.7.1/data/myid 2 ##生成ID,这里需要注意, myid对应的zoo.cfg的server.ID,比如第二台zookeeper主机对应的myid应该是2
保存退出,启动zookeeper检查是否可以正常其启动zookeeper
1 [root@node1 local]# ./zookeeper3.7.1/bin/zkServer.sh start
使用命令查看zookeeper是否启动了
[root@node1 local]# ps -ef | grep zookeeper
看到这么一大串内容,说明启动成功了
至此,第一台服务器搭建好了,将zookeeper3.7.1远程拷贝到其他服务器
四、远程拷贝
1 [root@node1 local]# scp -r zookeeper3.7.1 192.168.3.102:/usr/local/ 2 [root@node1 local]# scp -r zookeeper3.7.1 192.168.3.103:/usr/local/
修改各自的myid文件,比如192.168.3.102的myid改为2
1 [root@node3 zookeeper3.7.1]# vim ./data/myid
五、查看集群是否成功搭建
分别启动服务器的zookeeper,查看它们的状态
1 [root@node3 zookeeper3.7.1]# ./bin/zkServer.sh start
2 [root@node2 local]# ./zookeeper3.7.1/bin/zkServer.sh status
所有服务器中,只有一台服务器上的zookeeper是leader,其他的都是follower,表示集群搭建成功
如果该文章对你有所帮助,请点个赞支持下,谢谢!