zookeeper集群部署

发布时间 2023-07-21 01:01:29作者: 天晴修屋顶

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,表示集群搭建成功