Zookeeper集群环境搭建

本文针对的是在CentOS7环境下部署Zookeeper集群,Zookeeper的运行需要依赖java运行环境,所以在安装Zookeeper之前需要确保系统中已经安装有jdk。这里不对安装jdk进行复述。

服务器介绍

众所周知,搭建zookeeper集群最好选择奇数台机器(本文重点介绍如何搭建集群环境,这里不对为何选择奇数台机器进行阐述),我们以3台机器为例进行搭建zookeeper集群。分别为192.168.184.128,192.168.184.129,192.168.184.130,后文中简称128,129,130。

下载Zookeeper安装包

官网下载地址:https://zookeeper.apache.org/releases.html#download

解压Zookeeper

将下载好的安装包上传到CentOS7服务器上,安装目录为/data/zookeeper/,将安装包进行解压。

[root@localhost zookeeper] tar -zxvf zookeeper-3.4.11.tar.gz

修改配置文件zoo.cfg

进入到解压后的conf目录,将zoo_sample.cfg文件复制并重命名为zoo.cfg文件,随后编辑zoo.cfg文件。

[root@localhost conf] cp zoo_sample.cfg zoo.cfg

[root@localhost conf] vim zoo.cfg

上面红色框住的内容即是我们修改的内容:

1.tickTime:基本事件单元,这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳;最小 的session过期时间为2倍tickTime

2.dataDir:存储内存中数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志。注意:应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会很大程度上影像系统性能。

3.client:监听客户端连接的端口。

4.initLimit:允许follower连接并同步到Leader的初始化连接时间,以tickTime为单位。当初始化连接时间超过该值,则表示连接失败。

5.syncLimit:表示Leader与Follower之间发送消息时,请求和应答时间长度。如果follower在设置时间内不能与leader通信,那么此follower将会被丢弃。

6.server.A=B:C:D

A:其中 A 是一个数字,表示这个是服务器的编号;

B:是这个服务器的 ip 地址;

C:Leader选举的端口;

D:Zookeeper服务器之间的通信端口。

我们需要修改的第一个是 dataDir ,在指定的位置处创建好目录。

第二个需要新增的是 server.A=B:C:D 配置,其中 A 对应下面我们即将介绍的myid 文件。B是集群的各个IP地址,C:D 是端口配置。

创建myid文件

在上一步dataDir指定的目录下,创建 myid 文件。
在新建的myid文件中输入上一步配置的server.A中的数值A。我们这里就是128机器为0,129机器为1,130机器为2。

启动Zookeeper服务

注意注意注意,启动之前一定要关闭防火墙或开放对应端口。

  1. 启动命令:zkServer.sh start
  2. 停止命令:zkServer.sh stop
  3. 重启命令:zkServer.sh restart
  4. 查看集群节点状态:zkServer.sh status

我们分别对集群三台机器执行启动命令。执行完毕后,分别查看集群节点状态:

出现如下即是集群搭建成功:

posted @ 2021-05-19 09:36  danger0us  阅读(67)  评论(0编辑  收藏  举报