数据岗位面试题更新 2026-08-05

在 Kafka 集群中,Zookeeper 承担了哪些职责?它对集群的协调和管理具体发挥了什么功能?

数据风险判断技术原理

考察说明

考察对 Kafka 旧版架构中 Zookeeper 角色的理解及其在集群协调中的具体职责。

回答思路

  1. 【回答框架 1】Kafka 早期版本中,Zookeeper 负责集群元数据管理,包括 broker 注册、topic 分区信息、ISR 列表等,并用于 leader 选举。
  2. 【回答框架 2】Zookeeper 提供分布式协调服务,通过临时节点监控 broker 存活状态,故障时及时通知控制器进行重新选举。
  3. 【回答框架 3】控制器(Controller)是 Kafka 集群的核心管理组件,由 Zookeeper 在 broker 中选举产生,负责分区 leader 选举、分区分配等管理操作。
  4. 【回答框架 4】Zookeeper 还用于存储消费者组的 offset(旧版本)以及管理配置信息,但新版本中这些职责逐渐被 Kafka 自身替代。
  5. 【关键点 1】Zookeeper 管理 broker 注册、topic 元数据和分区 leader 选举。
  6. 【关键点 2】Zookeeper 通过临时节点实现故障检测,并触发控制器选举。
  7. 【关键点 3】控制器负责实际的分区分配和 leader 切换,Zookeeper 提供协调基础。
  8. 【易错点 1】新版本 Kafka 已逐渐移除 Zookeeper 依赖,但不要忽略历史版本中的角色。
  9. 【易错点 2】不要将 Zookeeper 与 Kafka 控制器职责混淆,控制器选举和分区管理由控制器执行。