温馨提示×

centos怎么部署zookeeper集群

小樊
40
2026-09-30 13:16:35
栏目: 智能运维

下面以 CentOS 7/8 为例,一步步说明如何部署 ZooKeeper 集群(3 节点)。


一、环境准备

1. 节点规划

假设有 3 台服务器:

主机名 IP
zk1 192.168.1.11
zk2 192.168.1.12
zk3 192.168.1.13

ZooKeeper 集群建议 奇数节点(3/5/7)


2. 基础环境

每台机器执行:

# 关闭防火墙(生产环境建议开放端口)
systemctl stop firewalld
systemctl disable firewalld

# 安装 Java(ZooKeeper 依赖)
yum install -y java-1.8.0-openjdk

java -version

二、下载并安装 ZooKeeper

在 每台节点 执行:

cd /opt
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz

tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz
mv apache-zookeeper-3.7.1-bin zookeeper

三、配置 ZooKeeper

1. 创建数据目录

mkdir -p /data/zookeeper

2. 编辑配置文件

cd /opt/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg

zoo.cfg 示例(3 节点通用):

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper
clientPort=2181

server.1=192.168.1.11:2888:3888
server.2=192.168.1.12:2888:3888
server.3=192.168.1.13:2888:3888

3. 配置 myid(重要)

每台机器 myid 不同

# zk1
echo 1 > /data/zookeeper/myid

# zk2
echo 2 > /data/zookeeper/myid

# zk3
echo 3 > /data/zookeeper/myid

四、启动 ZooKeeper 集群

每台节点执行:

/opt/zookeeper/bin/zkServer.sh start

查看状态:

/opt/zookeeper/bin/zkServer.sh status

输出示例:

Mode: leader
Mode: follower

五、测试集群

/opt/zookeeper/bin/zkCli.sh -server 192.168.1.11:2181
create /test hello
get /test

六、设置开机自启(可选)

cat > /etc/systemd/system/zookeeper.service <<EOF
[Unit]
Description=ZooKeeper
After=network.target

[Service]
Type=forking
ExecStart=/opt/zookeeper/bin/zkServer.sh start
ExecStop=/opt/zookeeper/bin/zkServer.sh stop
User=root

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable zookeeper

七、常见问题

1. 集群起不来

  • myid 是否正确
  • IP 是否互通
  • 防火墙是否放行 2181 / 2888 / 3888

2. 查看日志

tail -f /opt/zookeeper/logs/zookeeper-*.out

如果你需要:

  • Docker 部署
  • Kubernetes 部署
  • 伪集群(单机器多实例)

可以继续问我。

0 踩