温馨提示×

debian怎样配置zookeeper

小樊
43
2026-10-05 10:33:12
栏目: 智能运维

下面以 Debian 11/12 为例,介绍如何安装和配置 Apache ZooKeeper(单机模式 + 简单集群思路)。


一、安装前准备

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 Java(ZooKeeper 依赖 JVM)

sudo apt install -y openjdk-17-jdk

验证:

java -version

二、下载并安装 ZooKeeper

以 ZooKeeper 3.9.x 为例(可去官网换版本)

cd /opt
sudo wget https://downloads.apache.org/zookeeper/zookeeper-3.9.2/apache-zookeeper-3.9.2-bin.tar.gz
sudo tar -xzf apache-zookeeper-3.9.2-bin.tar.gz
sudo mv apache-zookeeper-3.9.2-bin zookeeper

三、基础配置(单机模式)

1. 创建数据目录

sudo mkdir -p /var/lib/zookeeper
sudo chown -R $USER:$USER /var/lib/zookeeper

2. 创建配置文件

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

编辑 conf/zoo.cfg:

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

四、启动 ZooKeeper

前台启动(测试)

bin/zkServer.sh start-foreground

后台启动

bin/zkServer.sh start

查看状态:

bin/zkServer.sh status

客户端测试:

bin/zkCli.sh -server 127.0.0.1:2181

五、配置为 systemd 服务(推荐)

1. 创建服务文件

sudo nano /etc/systemd/system/zookeeper.service

内容示例:

[Unit]
Description=Apache ZooKeeper
After=network.target

[Service]
Type=forking
User=youruser
ExecStart=/opt/zookeeper/bin/zkServer.sh start
ExecStop=/opt/zookeeper/bin/zkServer.sh stop
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

把 youruser 改成你的用户名

2. 启用服务

sudo systemctl daemon-reload
sudo systemctl enable zookeeper
sudo systemctl start zookeeper

六、集群模式(简单说明)

假设 3 台机器:

  • node1: 192.168.1.11
  • node2: 192.168.1.12
  • node3: 192.168.1.13

每台 zoo.cfg 增加:

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

每台创建 myid:

echo 1 | sudo tee /var/lib/zookeeper/myid  # node1
echo 2 | sudo tee /var/lib/zookeeper/myid  # node2
echo 3 | sudo tee /var/lib/zookeeper/myid  # node3

七、常见问题

  • 端口被占用:检查 2181 / 2888 / 3888
  • 权限问题:确保数据目录可写
  • Java 版本不兼容:ZooKeeper 3.9 建议 Java 11+

如果你需要:

  • Docker 方式
  • 和 Kafka 一起配置
  • 安全认证(SASL / ACL)

可以告诉我你的使用场景。

0 踩