在Debian系统上实现Zookeeper的高可用性(HA)通常涉及以下几个步骤:
准备环境:
下载并解压Zookeeper: 在每台服务器上执行以下命令来下载和解压Zookeeper:
wget https://downloads.apache.org/zookeeper/zookeeper-3.x.x/apache-zookeeper-3.x.x-bin.tar.gz
tar xzf apache-zookeeper-3.x.x-bin.tar.gz
mv apache-zookeeper-3.x.x-bin /opt/zookeeper
配置Zookeeper:
在每台服务器的/opt/zookeeper/conf
目录下,复制zoo_sample.cfg
文件并重命名为zoo.cfg
:
cp conf/zoo_sample.cfg conf/zoo.cfg
编辑zoo.cfg
文件,添加或修改以下配置:
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=server1_ip:2888:3888
server.2=server2_ip:2888:3888
server.3=server3_ip:2888:3888
其中server.1
, server.2
, server.3
分别代表三台服务器的标识,server1_ip
, server2_ip
, server3_ip
是它们的IP地址。
在dataDir
指定的目录下创建一个名为myid
的文件,用来标识当前服务器的ID:
echo 1 > /var/lib/zookeeper/myid # 在第一台服务器上执行
echo 2 > /var/lib/zookeeper/myid # 在第二台服务器上执行
echo 3 > /var/lib/zookeeper/myid # 在第三台服务器上执行
启动Zookeeper: 在每台服务器上,使用以下命令启动Zookeeper服务:
/opt/zookeeper/bin/zkServer.sh start
验证集群状态: 在任意一台服务器上,使用以下命令检查Zookeeper集群的状态:
/opt/zookeeper/bin/zkServer.sh status
你应该能看到当前服务器的角色(Leader或Follower)以及集群的状态。
设置开机自启动(可选): 如果你想让Zookeeper在系统启动时自动运行,可以创建一个systemd服务文件:
sudo nano /etc/systemd/system/zookeeper.service
然后添加以下内容:
[Unit]
Description=Apache Zookeeper Server
After=network.target
[Service]
Type=forking
User=nobody
Group=nogroup
ExecStart=/opt/zookeeper/bin/zkServer.sh start
ExecStop=/opt/zookeeper/bin/zkServer.sh stop
Restart=on-abort
[Install]
WantedBy=multi-user.target
保存并退出,然后启用并启动服务:
sudo systemctl enable zookeeper
sudo systemctl start zookeeper
确保所有服务器上的配置都正确无误,并且网络连接正常,这样你的Zookeeper集群就能正常工作并提供高可用性了。记得在生产环境中使用防火墙规则来限制对Zookeeper端口的访问。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: Debian挂载NFS服务器技巧