ZooKeeper 集群部署

Apache-ZooKeeper



一、规划

1.1 主机规划

主机服务/程序备注
192.168.56.21(2C/2G)JDK、ZooKeeperZK 集群
192.168.56.22(2C/2G)JDK、ZooKeeper-
192.168.56.23(2C/2G)JDK、ZooKeeper-

1.2 版本规划

服务/程序版本备注
JDK1.8.0为 ZK 提供 JDK 环境
ZooKeeper3.4.10-

1.3 目录规划

服务/程序路径备注
JDK/home/data/jdkJAVA 环境
ZooKeeper/home/data/zookeeperZK 集群

二、部署

ZK 依赖于 JDK,所以部署 ZK 之前确保 JDK 环境正常。

Github:https://github.com/apache/zookeeper

2.1 JDK 环境

三台服务器均操作。

二进制包下载连接:https://repo.huaweicloud.com/java/jdk/

1、下载 JDK 二进制包并解压

mkdir -p /home/data
tar xzf jdk-8u202-linux-x64.tar.gz -C /home/data/
mv /home/data/jdk1.8.0_202/ /home/data/jdk

2、做软链接

ln -s /home/data/jdk/bin/* /usr/bin/

3、JDK 环境验证

java -version
---
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

2.2 ZooKeeper 集群

三台服务器均操作。

二进制包下载连接:https://zookeeper.apache.org/releases.html

1、互做本地解析

192.168.56.21 zk-1
192.168.56.22 zk-2
192.168.56.23 zk-3

2、下载 ZK 二进制包并解压

tar xzf zookeeper-3.4.10.tar.gz -C /home/data/
mv /home/data/zookeeper-3.4.10/ /home/data/zookeeper

3、创建数据/日志路径

mkdir /home/data/zookeeper/{data,logs}

4、修改配置文件

cp /home/data/zookeeper/conf/zoo_sample.cfg /home/data/zookeeper/conf/zoo.cfg
cat /home/data/zookeeper/conf/zoo.cfg
---
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/data/zookeeper/data
dataLogDir=/home/data/zookeeper/logs
clientPort=2181
autopurge.snapRetainCount=500
autopurge.purgeInterval=24
server.1= zk-1:2888:3888
server.2= zk-2:2888:3888
server.3= zk-3:2888:3888

参数说明:

# 基础参数说明:
- tickTime:心跳检测时间
- initLimit:follower连接到leader的初始化超时时间 --> 10*2000=20s
- syncLimit:leader与follower请求应答超时时间 --> 5*2000=10s
- dataDir:数据路径
- dataLogDir:日志路径
- quorumListenOnAllIPs:是否在所有可用的IP上监听来自其对等节点的连接请求,默认值为false,这意味着只在zoo.cfg中配置的服务器ip地址上监听连接请求
- autopurge.snapRetainCount:保留的快照文件数目,默认是保留3个 --> 自动清理Zookeeper的历史数据
- autopurge.purgeInterval:清理频率(单位是小时),默认是0,表示不开启自动清理功能 --> 自动清理Zookeeper的历史数据
# 端口说明:
- 2181:对Client端提供服务的端口(可自定义)
- 2888:集群内部通信端口(可自定义)
- 3888:选举Leader的端口(可自定义)
# 集群说明
server.a=zk-*:2888:3888
a:表示唯一ServerID标识,需为不同集群节点创建与之对应的ServerID

以上配置好后 scp 配置文件至其他节点

5、创建 ServerID 标识

# zk-1
[root@zk-1 ~]# echo "1" > /home/data/zookeeper/data/myid

# zk-2
[root@zk-2 ~]# echo "2" > /home/data/zookeeper/data/myid

# zk-3
[root@zk-3 ~]# echo "3" > /home/data/zookeeper/data/myid

6、启动 Zookeeper 集群

/home/data/zookeeper/bin/zkServer.sh start
---
ZooKeeper JMX enabled by default
Using config: /home/data/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

7、验证

# zk-1
[root@zk-1 ~]# /home/data/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/data/zookeeper/bin/../conf/zoo.cfg
Mode: follower

# zk-2
[root@zk-2 ~]# /home/data/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/data/zookeeper/bin/../conf/zoo.cfg
Mode: leader

# zk-3
[root@zk-3 ~]# /home/data/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/data/zookeeper/bin/../conf/zoo.cfg
Mode: follower

FAQ

目前集群配置没遇到任何问题,如果你有问题,请先检测一下网络防火墙配置Selinux等。

待补充…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

云计算-Security

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

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

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

打赏作者

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

抵扣说明:

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

余额充值