ZooKeeper集群搭建教程(手把手教你3步成功)

ZooKeeper集群搭建教程(手把手教你3步成功)-mikechen

Zookeeper下载

zookeeper 官网:https://zookeeper.apache.org

下载地址: https://zookeeper.apache.org/releases.html

ZooKeeper集群搭建教程(手把手教你3步成功)-mikechen

选择上面标红的稳定版本,这里我选择的是最新ZooKeeper稳定版3.7.1。

 

Zookeeper集群安装

1.上传解压Zookeeper

将下载的ZooKeeper放到/usr/local/目录下,解压ZooKeeper安装文件。

命令:

tar -zxvf zookeeper-3.7.1.tar.gz

 

2.修改配置文件zoo.cfg

进入ZooKeeper配置文件目录,将zoo_sample.cfg这个文件复制为zoo.cfg 。

命令:

cd zookeeper-3.7.1/conf

将zookeeper压缩文件解压后,我们进入到 conf 目录:

cp zoo_sample.cfg zoo.cfg

 

3.编辑zoo.cfg文件

命令:

vim zoo.cfg

修改配置文件,主要就是把dataDir=/tmp/zookeeper注释掉,然后添加以下核心配置:

# zookeeper时间配置的基本单位
tickTime=2000

# 允许follower初始化连接到leader最大时长,它表示tickTime时间倍数 即:initLimit*tickTime
initLimit=10

# 允许follower与leader数据同步最大时长,它表示tickTime时间倍数
syncLimit=5

# zookeeper数据存储目录及日志保存
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/log
#zookeeper集群
server.1=192.168.146.200:2888:3888
server.2=192.168.146.201:2888:3888
server.3=192.168.146.202:2888:3888

# 对客户端提供的端口号
clientPort=2181

# 单位客户端与zookeeper最大并发连接数
maxClientCnxns=60

# 保存的数据快照数量,之外的将会被清除
autopurge.snapRetainCount=3

# 自动触发清除任务时间间隔,小时为单位。默认为0,表示不自动清除
autopurge.purgeInterval=1

核心参数说明:

dataDir:存储内存中数据库快照的位置;

dataLogDir:存储日志文件;

clientPort:监听客户端连接的端口;

initLimit:许follower连接并同步到Leader的初始化连接时间;

syncLimit:此配置表示,leader 与 follower 之间发送消息,请求 和应答 时间长度;

server.A=B:C:D ,A为服务器编号,B为IP地址,C为端口,D为Leader选举的端口;

示例:比如上面,我配置3台zookeeper集群:

server.1=192.168.146.200:2888:3888
server.2=192.168.146.201:2888:3888
server.3=192.168.146.202:2888:3888

Zookeeper集群原则上需要2n+1个实例才能保证集群有效性,所以集群规模至少是3台。

 

4.创建myid文件

在 上一步 dataDir 指定的目录下,创建 myid 文件。

比如:dataDir =/usr/local/zookeeper/data,那就在该目录下创建 myid 文件,然后在文件上写1即可。

$ cd ../data
$ touch myid
$ echo "1">>myid

备注:里面的配置和 zoo.cfg 的server.x 配置需要保持一致。

 

5.配置集群其它机器

把配置好的Zookeeper目录复制到其他两台机器上,重复上面的步骤。

 

6.配置环境变量

为了能够在任意目录启动zookeeper集群,我们需要配置环境变量。

进入到 /etc/profile 目录,添加相应的配置信息:

export ZOOKEEPER_INSTALL=/usr/local/zookeeper-3.7.1/
export PATH=$PATH:$ZOOKEEPER_INSTALL/bin

然后通过如下命令使得环境变量生效:

source /etc/profle

 

Zookeeper集群启动

1.启动3台zookeeper集群

我们分别对集群三台机器执行启动命令:

zkServer.sh start

 

3.查看ZooKeeper集群状态

命令:

zkServer.sh status

出现如下:

ZooKeeper集群搭建教程(手把手教你3步成功)-mikechen

说明ZooKeeper集群搭建成功了。

 

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法