在CentOS上部署Zookeeper的三节点集群需要遵循以下步骤:
安装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 在每台服务器上创建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地址或主机名。
在每台服务器的 /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上 在每台服务器上启动Zookeeper服务。
/opt/zookeeper/bin/zkServer.sh start 在任意一台服务器上使用以下命令检查集群状态:
/opt/zookeeper/bin/zkServer.sh status 你应该能看到类似以下的输出,表示集群正常运行:
ZooKeeper JMX enabled by default Using config: /opt/zookeeper/conf/zoo.cfg Mode: leader 确保防火墙允许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 定期检查Zookeeper的日志文件以确保没有错误信息。
tail -f /var/log/zookeeper/zookeeper.out 通过以上步骤,你就可以在CentOS上成功部署一个Zookeeper的三节点集群。