参考资料

  1. Open Liberty是由IBM开发的开源轻量级Java应用服务器
  2. docker安装mysql详细说明以及案例
  3. Odoo 是一款开源的企业资源规划(ERP)和客户关系管理(CRM)软件
  4. Rocket.Chat 是一款开源的团队聊天平台
  5. Rust 是一种系统编程语言,专注于安全、并发和性能
  6. SuiteCRM是一款开源的企业客户关系管理(CRM)软件
  7. Aerospike 是一个高性能、分布式 NoSQL 数据库
  8. Flarum 是一款现代化的开源论坛软件

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

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