ZooKeeper 是一个高可用、强一致的分布式协调服务,用类似文件系统的 znode 树存储少量协调数据,并提供 Watch、会话、ACL、顺序节点等原语。Hadoop、HBase、Kafka(旧版本)、Dubbo 等系统都用它做选主、配置、注册和分布式锁。
本文基于 Apache ZooKeeper 3.9.6(current,2026-10)官方文档重写,按「数据模型 → 会话/Watch → 一致性 → Zab/选举 → 持久化 → 运维 → 客户端/Recipes → 故障」展开 deep dive。
ZooKeeper 适合存控制面元数据,不适合大 Value、日志、图片或高吞吐业务数据。默认单 znode 数据上限约 1 MiB(
jute.maxbuffer),生产建议控制在 KiB 级。
本文按 Hadoop 生态当前官方文档重写,面向平台运维而不是入门概念。重点讲清 HDFS、YARN、Hive、Spark、Flink、HBase、Kafka、ZooKeeper、Ozone 等组件的运行机制、部署拓扑、日常运维、容量与故障处理。
最后更新:2026-10-22