当前位置:   article > 正文

ZooKeeper 集群部署_如何部署zk

如何部署zk

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 环境正常。

Githubhttps://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
  • 1
  • 2
  • 3

2、做软链接

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

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)
  • 1
  • 2
  • 3
  • 4
  • 5

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
  • 1
  • 2
  • 3

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

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

3、创建数据/日志路径

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

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

参数说明:

# 基础参数说明:
- 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

以上配置好后 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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
  • 1
  • 2
  • 3
  • 4
  • 5

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

FAQ

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

待补充…

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号