Zookeeper集群版安装部署

1.1、概述

        对于ZooKeeper的集群来说,有两种情况:生产集群和伪集群。伪集群本质上还是集群,只不过是部署在了一台主机,其他功能完全一样。更多关于生产集群和伪集群的描述请参考Zookeeper单机版安装部署文章中的概述部分,这里不在赘述。

1.2、系统环境

        ZooKeeper服务器是用Java创建的,运行在JVM之上。需要安装JDK7以上版本(最好JDK8或以上)。如果服务器上没有JDK环境请自行安装,这里不在赘述。具体系统环境如下:

环境名称版本号
操作系统CentOS Linux release 8.4.2105
JDK17.0.7
ZooKeeper3.8.4

1.3、集群规划

        本次安装部署将采用3台服务器搭建一个ZooKeeper生产集群,服务器列表如下:

服务器ip通信端口心跳端口选举端口数据日志服务目录myid
172.16.20.5218128883888/data/zookeeper/{data,logs}1
172.16.20.6218128883888/data/zookeeper/{data,logs}2
172.16.20.7218128883888/data/zookeeper/{data,logs}3

确保三台服务器之间的网络和端口是可以相互通信的而且2181、2888、3888端口没有被其他进程占用。

1.4、部署流程

        本文将在三台操作系统为CentOS Linux release 8.4.2105、Java环境为JDK17.0.7的服务器上部署ZooKeeper3.8.4版本的生产集群,具体流程如下:

1.4.1、每台服务器上部署ZooKeeper

        这一部分请参考Zookeeper单机版安装部署这篇博文,这里不在赘述。

1.4.2、设置myid

        按照集群规划中每台服务器上ZooKeeper的myid设置集群中各个ZooKeeper的myid,具体如下:

  • 设置172.16.20.5服务器上上ZooKeeper的myid
            通过在对应服务器上执行命令向ZooKeeper的数据目录中创建一个myid文件,并将1写入到文件中。示例命令如下:
echo 1 >/data/zookeeper/data/myid

        创建成功后会在对应的数据目录中生成一个myid文件,具体如下:
myid文件

  • 设置172.16.20.6服务器上上ZooKeeper的myid
  •         通过在对应服务器上执行命令向ZooKeeper的数据目录中创建一个myid文件,并将1写入到文件中。示例命令如下:
echo 2 >/data/zookeeper/data/myid

        创建成功后会在对应的数据目录中生成一个myid文件,具体如下:
myid文件

  • 设置172.16.20.7服务器上上ZooKeeper的myid
            通过在对应服务器上执行命令向ZooKeeper的数据目录中创建一个myid文件,并将1写入到文件中。示例命令如下:
echo 3 >/data/zookeeper/data/myid

        创建成功后会在对应的数据目录中生成一个myid文件,具体如下:
myid文件

1.4.3、修改zoo.cfg配置文件

        按照集群规划中服务器列表,修改每台服务器上ZooKeeper的zoo.cfg配置文件,只需要在配置文件的末尾新增集群列表即可,修改成功后的配置文件如下:
配置文件

2888端口是心跳端口,3888端口是选举端口。

1.4.4、启动ZooKeeper服务

        按照集群规划中服务器列表,在每台服务器上进入 apache-zookeeper-3.8.4-bin/bin 目录,执行 ./zkServer.sh start 命令启动 Zookeeper服务,启动成功后的效果如下:
启动成功

1.4.5、检查ZooKeeper服务状态

        按照集群规划中服务器列表,在每台服务器上进入 apache-zookeeper-3.8.4-bin/bin 目录,执行 ./zkServer.sh status 命令查看 Zookeeper服务状态,172.16.20.5服务器的效果如下:
172.16.20.5
        172.16.20.6服务器的效果如下:
172.16.20.6
        172.16.20.7服务器的效果如下:
172.16.20.7
        从上述截图中可以看出172.16.20.6服务器上的ZooKeeper的角色是leader,172.16.20.5服务器和172.16.20.7服务器上的ZooKeeper的角色是follower。

1.4.6、客户端连接

        可以使用任意一台服务器的客户端连接到多个服务端,其命令如下:

./zkCli.sh -server 172.16.20.5:2181,172.16.20.6:2181,172.16.20.7:2181

同时连接多个服务端节点的时候,彼此间使用逗号隔开。

        连接成功后如下所示:
连接成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

giser@2011

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值