环境准备与服务器配置
在阿里云ECS上部署Zookeeper集群需准备至少3台相同配置的CentOS 7服务器,建议选择2核4GB以上规格。通过控制台创建实例后,需完成以下基础配置:
- 配置主机名映射,修改
/etc/hosts
文件添加三台服务器的IP与域名映射 - 安装JDK 1.8+并配置环境变量,使用
yum install java-1.8.0-openjdk
命令完成安装 - 关闭系统防火墙:
systemctl stop firewalld && systemctl disable firewalld
Zookeeper安装与集群部署
通过以下步骤完成Zookeeper 3.5.x版本的集群化部署:
- 下载二进制包:
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.10/apache-zookeeper-3.5.10-bin.tar.gz
- 解压并创建数据/日志目录:
mkdir -p /data/zookeeper/{data,logs}
- 配置
zoo.cfg
文件,指定集群节点信息:server.1=node1:2888:3888 server.2=node2:2888:3888 server.3=node3:2888:3888
- 在各节点创建
myid
文件并写入对应的服务器ID
防火墙配置策略
阿里云环境需同时配置安全组和系统防火墙:
- 安全组开放2181(客户端)、2888(数据同步)、3888(选举)端口
- 若启用firewalld,执行:
firewall-cmd --permanent --add-port=2181/tcp --add-port=2888/tcp --add-port=3888/tcp && firewall-cmd --reload
- 验证端口连通性:
telnet nodeX 2181
集群验证与测试
通过以下命令验证集群状态:
- 启动所有节点服务:
zkServer.sh start
- 查看节点角色:
zkServer.sh status
(显示leader/follower) - 客户端连接测试:
zkCli.sh -server node1:2181
执行create /test "data"
验证数据同步
实施结论
本文详细说明了在阿里云ECS环境中部署Zookeeper集群的全流程,重点解决了分布式环境下的防火墙配置问题。通过标准化安装流程和双维度(安全组+系统防火墙)的端口策略,可确保集群通信稳定可靠。建议定期检查ZooKeeper日志与节点健康状态,结合阿里云监控服务实现集群运维可视化。