参考资料

  1. Docker的安装与配置
  2. 宝塔docker是一款基于Web的服务器管理软件
  3. Perl是一种高级、通用、解释型动态编程语言
  4. PostgreSQL 是一个开源的关系型数据库管理系统
  5. XWiki 是一个开源的、基于 Java 的 Wiki 平台
  6. Stirling-PDF 是一个开源的 PDF 工具集
  7. Joomla 是一款开源的内容管理系统
  8. Kibana 是一个开源的数据可视化工具

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 配置一致。

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