在centos系统上搭建zookeeper集群需要遵循以下步骤:
1. 安装Java环境
Zookeeper依赖于Java环境,因此建议安装OpenJDK 8或更高版本。
sudo yum install java-1.8.0-openjdk-devel
2. 下载并解压Zookeeper
从Apache ZooKeeper官方网站下载所需版本,例如zookeeper-3.4.14,并将其解压到指定目录。
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local/
3. 配置Zookeeper
修改配置文件
进入解压后的Zookeeper目录,复制并修改zoo_sample.cfg为zoo.cfg。重要配置项包括dataDir(数据目录)和clientPort(客户端连接端口)等。
cd /usr/local/zookeeper cp conf/zoo_sample.cfg conf/zoo.cfg vi conf/zoo.cfg
示例配置:
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/var/lib/zookeeper clientPort=2181 server.1 192.168.0.107:2888:3888 server.2 192.168.0.108:2888:3888 server.3 192.168.0.109:2888:3888
创建myid文件
在dataDir目录下为每个节点创建myid文件,文件内容为节点编号。
cd /var/lib/zookeeper vi myid
例如,节点1的myid文件内容为1。
4. 配置环境变量
编辑/etc/profile文件,添加Zookeeper的路径。
echo 'export ZOOKEEPER_HOME=/usr/local/zookeeper' >> /etc/profile echo 'export PATH=$PATH:$ZOOKEEPER_HOME/bin' >> /etc/profile source /etc/profile
5. 启动Zookeeper
在每个节点上启动Zookeeper服务。
/usr/local/zookeeper/bin/zkServer.sh start
6. 验证集群状态
使用以下命令检查集群状态:
/usr/local/zookeeper/bin/zkServer.sh status
7. 安全增强配置(建议在生产环境中使用)
- SASL身份验证:配置ZooKeeper使用SASL进行身份验证,增强安全性。
- ACL访问控制:配置访问控制列表(ACL)以限制对特定节点的访问权限。
- SSL/TLS加密:使用SSL/TLS加密客户端与服务器之间的通信。
- 限制客户端连接数:防止资源耗尽和性能下降。
- 监控与审计:实施监控和审计策略,跟踪ZooKeeper资源的访问和操作。
8. 故障排查
- 查看日志文件:分析Zookeeper的日志文件(如zookeeper.out),查找错误信息或异常堆栈。
- 检查网络连接:使用ping或telnet命令测试节点间的网络连通性。
- 验证配置文件:检查zoo.cfg文件,确保所有参数设置正确。
- 检查资源使用情况:查看节点的CPU、内存和磁盘使用情况。
- 使用四字命令监控集群状态:通过Zookeeper提供的四字命令(如stat、ruok、mntr等)监控集群状态。











