参考资料

  1. rspamd 是一个快速、开源的垃圾邮件过滤系统
  2. Squid是一款开源的代理服务器和Web缓存服务器
  3. Stirling-PDF 是一个开源的 PDF 工具集
  4. Nextcloud 是一款开源的自托管文件同步与共享平台
  5. Storm 是一个分布式实时计算系统
  6. Nexus Repository Manager 3(简称Nexus3)是由Sonatype公司开发的一款企业级仓库管理工具
  7. 1Panel 是一个现代化的开源 Linux 服务器运维管理面板
  8. Docker基于Linux容器技术

ZooKeeper 是一个开源的分布式协调服务

ZooKeeper 简介

ZooKeeper 是一个开源的分布式协调服务,由 Apache 软件基金会维护。它主要用于管理分布式应用中的配置信息、命名服务、分布式同步和组服务等。

特点

  1. 高可用性:基于集群部署,支持故障恢复。

  2. 顺序一致性:客户端请求按顺序执行。

  3. 原子性:更新操作要么全部成功,要么全部失败。

  4. 高性能:适用于读多写少的场景。

  5. 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

常见错误及解决方法

  1. Connection refused

    • 检查 ZooKeeper 是否启动,端口是否开放。

  2. Session expired

    • 客户端长时间未通信导致会话超时,需重新连接。

  3. NoNode 错误

    • 节点不存在,检查路径是否正确。

  4. KeeperErrorCode = NodeExists

    • 节点已存在,避免重复创建。

  5. 集群模式启动失败

    • 检查 myid 文件是否与 zoo.cfg 配置一致。

如需更详细配置,请参考官方文档。