温馨提示×

如何在CentOS上部署Zookeeper的三节点集群

小樊
54
2025-07-29 03:32:15
栏目: 智能运维

在CentOS上部署Zookeeper的三节点集群需要遵循以下步骤:

1. 准备工作

  • 安装Java:Zookeeper需要Java环境,确保每台服务器上都安装了Java。

    sudo yum install java-1.8.0-openjdk-devel 
  • 下载并解压Zookeeper

    wget https://archive.apache.org/dist/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 

2. 配置Zookeeper

在每台服务器上创建Zookeeper的数据目录和日志目录,并设置相应的权限。

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

配置文件 zoo.cfg

在每台服务器的 /opt/zookeeper/conf 目录下编辑 zoo.cfg 文件,添加以下内容:

tickTime=2000 dataDir=/var/lib/zookeeper/data 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 分别对应三台服务器的IP地址或主机名。

创建myid文件

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

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

3. 启动Zookeeper服务

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

/opt/zookeeper/bin/zkServer.sh start 

4. 验证集群状态

在任意一台服务器上使用以下命令检查集群状态:

/opt/zookeeper/bin/zkServer.sh status 

你应该能看到类似以下的输出,表示集群正常运行:

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

5. 配置防火墙

确保防火墙允许Zookeeper的端口(默认2181, 2888, 3888)通信。

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

6. 监控和日志

定期检查Zookeeper的日志文件以确保没有错误信息。

tail -f /var/log/zookeeper/zookeeper.out 

通过以上步骤,你就可以在CentOS上成功部署一个Zookeeper的三节点集群。

0