温馨提示×

如何在CentOS上部署Zookeeper高可用集群

小樊
45
2025-12-23 17:25:27
栏目: 智能运维

在CentOS上部署Zookeeper高可用集群需要以下几个步骤:

1. 准备环境

确保你有三台或更多的CentOS服务器,每台服务器上都安装了Java环境(JDK)。Zookeeper集群至少需要三台服务器来保证高可用性。

2. 下载并解压Zookeeper

在每台服务器上执行以下命令下载并解压Zookeeper:

wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
tar -xzvf apache-zookeeper-3.7.0-bin.tar.gz -C /opt/
ln -s /opt/apache-zookeeper-3.7.0-bin /opt/zookeeper

3. 配置Zookeeper

在每台服务器上创建Zookeeper的数据目录和日志目录:

mkdir -p /var/lib/zookeeper /var/log/zookeeper

编辑Zookeeper的配置文件/opt/zookeeper/conf/zoo.cfg,添加以下内容:

tickTime=2000
dataDir=/var/lib/zookeeper
dataLogDir=/var/log/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=server1:2888:3888
server.2=server2:2888:3888
server.3=server3:2888:3888

其中,server.1, server.2, server.3 是服务器的标识,server1, server2, server3 是服务器的主机名或IP地址。

在每台服务器的/var/lib/zookeeper目录下创建一个名为myid的文件,并写入对应的服务器标识(1, 2, 3):

echo "1" > /var/lib/zookeeper/myid  # 在server1上
echo "2" > /var/lib/zookeeper/myid  # 在server2上
echo "3" > /var/lib/zookeeper/myid  # 在server3上

4. 启动Zookeeper

在每台服务器上启动Zookeeper服务:

/opt/zookeeper/bin/zkServer.sh start

5. 验证集群状态

在任意一台服务器上执行以下命令查看集群状态:

/opt/zookeeper/bin/zkServer.sh status

你应该能看到类似以下的输出:

ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/conf/zoo.cfg
Mode: follower

在另一台服务器上执行相同的命令,应该能看到不同的模式(leader 或 follower)。

6. 配置防火墙

确保防火墙允许Zookeeper的端口(默认是2181, 2888, 3888):

firewall-cmd --permanent --zone=public --add-port=2181/tcp
firewall-cmd --permanent --zone=public --add-port=2888/tcp
firewall-cmd --permanent --zone=public --add-port=3888/tcp
firewall-cmd --reload

7. 监控和日志

确保Zookeeper的日志文件被正确记录,并定期检查日志文件以确保集群的健康状态。

通过以上步骤,你就可以在CentOS上成功部署一个Zookeeper高可用集群。

0