下面以 Debian 11/12 为例,介绍如何安装和配置 Apache ZooKeeper(单机模式 + 简单集群思路)。
sudo apt update
sudo apt upgrade -y
sudo apt install -y openjdk-17-jdk
验证:
java -version
以 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
sudo mkdir -p /var/lib/zookeeper
sudo chown -R $USER:$USER /var/lib/zookeeper
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
bin/zkServer.sh start-foreground
bin/zkServer.sh start
查看状态:
bin/zkServer.sh status
客户端测试:
bin/zkCli.sh -server 127.0.0.1:2181
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改成你的用户名
sudo systemctl daemon-reload
sudo systemctl enable zookeeper
sudo systemctl start zookeeper
假设 3 台机器:
每台 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
如果你需要:
可以告诉我你的使用场景。