ZooKeeper 是一个开源的分布式协调服务
2025-05-16
3
参考资料
ZooKeeper 简介
ZooKeeper 是一个开源的分布式协调服务,由 Apache 软件基金会维护。它主要用于管理分布式应用中的配置信息、命名服务、分布式同步和组服务等。
特点
高可用性:基于集群部署,支持故障恢复。
顺序一致性:客户端请求按顺序执行。
原子性:更新操作要么全部成功,要么全部失败。
高性能:适用于读多写少的场景。
Watcher 机制:支持事件监听,数据变更时通知客户端。
最新更新内容及时间
最新稳定版本:3.8.3(2023年12月发布)
修复了若干 Bug,提升稳定性。
优化了 Watcher 机制的性能。
改进了日志管理。
镜像下载地址
官网地址
阅读文档地址
Docker 安装示例
# 拉取官方镜像 docker pull zookeeper:3.8.3 # 运行单机模式 docker run -d --name zookeeper -p 2181:2181 zookeeper:3.8.3 # 集群模式(3节点) docker run -d --name zoo1 -p 2181:2181 -e ZOO_MY_ID=1 -e ZOO_SERVERS="server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181" zookeeper:3.8.3
YAML 配置示例(zoo.cfg
)
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/data clientPort=2181 server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
常见错误及解决方法
Connection refused
检查 ZooKeeper 是否启动,端口是否开放。
Session expired
客户端长时间未通信导致会话超时,需重新连接。
NoNode
错误节点不存在,检查路径是否正确。
KeeperErrorCode = NodeExists
节点已存在,避免重复创建。
集群模式启动失败
检查
myid
文件是否与zoo.cfg
配置一致。
如需更详细配置,请参考官方文档。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。