选举控制器的规则: #
第一个成功创建 /controller 节点的 Broker 会被指定为控制器。
作用 #
-
主题管理(创建、删除、增加分区)
-
分区重分配
kafka-reassign-partitions -
Preferred 领导者选举
Preferred 领导者选举主要是 Kafka 为了避免部分 Broker 负载过重而提供的一种换 Leader 的方案。 -
集群成员管理(新增 Broker、Broker 主动关闭、Broker 宕机)
包括自动检测新增 Broker、Broker 主动关闭及被动宕机。
这种自动检测是依赖于前面提到的 Watch 功能和 ZooKeeper 临时节点组合实现的。 -
数据服务
控制器上保存了最全的集群 元数据信息,其他所有 Broker 会定期接收控制器发来的元数据更新请求,从而更新其内存 中的缓存数据。
参考 #
直击Kafka的心脏——控制器 «26 | 你一定不能错过的Kafka控制器» 胡夕