ZooKeeper 3.9.2 集群安装指南

ZooKeeper 3.9.2 集群安装指南

准备工作

1.系统要求

  • 至少3台服务器(推荐奇数台,如3、5、7)
  • Java 8或更高版本(运行java -version检查)
  • 服务器之间网络互通

2.下载ZooKeeper

bash 复制代码
wget https://downloads.apache.org/zookeeper/zookeeper-3.9.2/apache-zookeeper-3.9.2-bin.tar.gz
tar -xzf apache-zookeeper-3.9.2-bin.tar.gz
mv apache-zookeeper-3.9.2-bin /usr/local/zookeeper

集群配置

1.创建数据目录(在所有节点上执行)

javascript 复制代码
mkdir -p /data/zookeeper

配置zoo.cfg(主配置文件)

编辑/usr/local/zookeeper/conf/zoo.cfg,内容如下:

javascript 复制代码
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper
clientPort=2181
admin.serverPort=8080

集群服务器列表

javascript 复制代码
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888

说明:

node1, node2, node3 替换为实际IP或主机名

2888端口用于节点间通信,3888用于选举

创建myid文件(在每个节点上)

在每个节点的/data/zookeeper目录下创建myid文件,内容为对应的服务器ID:

节点1: echo 1 > /data/zookeeper/myid

节点2: echo 2 > /data/zookeeper/myid

节点3: echo 3 > /data/zookeeper/myid

启动集群在所有节点上启动ZooKeeper

javascript 复制代码
/usr/local/zookeeper/bin/zkServer.sh start

检查状态

javascript 复制代码
/usr/local/zookeeper/bin/zkServer.sh status

应该能看到一个leader和两个follower

验证集群

连接客户端

javascript 复制代码
/usr/local/zookeeper/bin/zkCli.sh -server localhost:2181

创建测试节点

javascript 复制代码
create /test "hello"
get /test

在其他节点验证数据同步

javascript 复制代码
get /test

可选配置

日志配置

编辑/usr/local/zookeeper/conf/log4j.properties调整日志级别和输出

JVM调优

编辑/usr/local/zookeeper/bin/zkEnv.sh调整JVM参数:

javascript 复制代码
export JVMFLAGS="-Xms2048m -Xmx2048m -XX:MaxPermSize=512m"

防火墙配置

确保开放以下端口:

javascript 复制代码
firewall-cmd --permanent --add-port=2181/tcp
firewall-cmd --permanent --add-port=2888/tcp
firewall-cmd --permanent --add-port=3888/tcp
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

常见问题解决

1.无法选举Leader

  • 检查所有节点的myid文件是否正确

  • 检查防火墙设置

  • 检查网络连通性

2.数据不同步

  • 检查dataDir权限

  • 检查磁盘空间

3.连接问题

  • 检查客户端是否连接到正确的服务器

  • 检查ZooKeeper服务是否正常运行

完成以上步骤后,您应该已经成功部署了一个ZooKeeper 3.9.2集群。

如需沟通:lita2lz

相关推荐
Elastic 中国社区官方博客5 小时前
如何使用 OpenTelemetry 对你的搜索 API 进行埋点,并使用 ES|QL 对其进行查询
大数据·功能测试·elasticsearch·搜索引擎·全文检索·可用性测试
Xzaveir_7776 小时前
OPPO、vivo、荣耀号码认证:多终端拨测矩阵与异常复现
大数据·网络·科技·矩阵·产品经理·ai-native
老徐聊GEO7 小时前
亲测有效的AI品牌检测公司案例分享
大数据·人工智能·python
韭菜学长7 小时前
科技型中小企业如何申请政府补贴?申报指南
大数据·人工智能
延凡科技7 小时前
智慧燃气解决方案:管道煤气监管应用管理系统(三维GIS+IoT+大数据落地实战)
大数据·人工智能·科技·物联网·安全
imbackneverdie7 小时前
知网官宣:禁止 AI 列为论文署名作者,标注 Gemini、DeepSeek 等 AI 为作者的稿件统一下架
大数据·人工智能·ai·职场和发展·aigc·科研·高校
@insist1238 小时前
信息系统管理工程师-数字化转型成熟度模型核心考点解析
大数据·人工智能·软考·软件水平考试·信息系统管理工程师·软考信管
AvatarAI_Walker8 小时前
2026年7月安徽健康 IP 孵化:四家机构服务特点与场景关注方向梳理
大数据·人工智能·tcp/ip·精选
栋***t8 小时前
从“纸质试卷”到“AI智能组卷”,麦塔在线考试系统如何重构出题逻辑?
java·大数据·人工智能·算法·重构
肥胖小羊8 小时前
解决企业微信 AccessToken 刷新并发冲突的分布式锁机制实践
分布式·企业微信