参考资料

  1. Java 是一种面向对象、跨平台的编程语言
  2. Haskell是一种纯函数式编程语言
  3. Notary 是一个开源项目,用于对数字内容进行签名和验证,确保内容的完整性和来源可信。
  4. Couchbase 是一个高性能、分布式 NoSQL 数据库,支持键值存储、文档存储和全文搜索功能。
  5. Telegraf 是由 InfluxData 开发的开源服务器代理
  6. BusyBox 是一个集成了多个 Unix 常用工具的轻量级软件
  7. DweebUI是一个基于Stable Diffusion WebUI的轻量级分支
  8. Bash(Bourne-Again SHell)是 Unix/Linux 系统默认的命令行解释器

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

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

声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。