zookeeper选举kafka集群的controller

zookeeper选举kafka集群的controller目录


文章目录


前言

kafka集群的controller是kafka集群中一个有特殊作用的broker,负责整个kafka集群的

具体来说,Controller Broker的作用包括:

1‌.主题管理‌:Controller负责创建、删除主题以及增加主题的分区。当使用kafka-topics.sh脚本进行这些操作时,大部分后台工作由Controller完成‌1。

2‌.分区重分配‌:通过kafka-reassign-partitions.sh脚本对主题的分区进行细粒度的分配和管理。这有助于优化分区的分布,提高集群的性能和稳定性‌1。

‌3.Preferred领导者选举‌:为了避免某些Broker过载,Controller负责选举新的Leader副本,确保负载均衡‌1。

‌集群成员管理‌:包括新增Broker、Broker的主动或被动关闭等。当Broker宕机时,4.Controller会感知并处理相应的下线工作,保证集群的稳定性‌1。

‌数据服务‌:Controller存放最全的集群元数据信息,其他Broker会定期接收Controller的更新请求,刷新其元数据缓存,保证数据的一致性和最新状态‌2。

Kafka集群中的Controller Broker通过上述功能,确保了集群的高可用性、数据的一致性和系统的稳定性。


一、实操体验controller的选举

先按照这篇启动kafka集群
kafka-windows集群部署

启动之后 打开zookeeper可视化工具PrettyZoo


这时候看到成功启动zookeeper之后 下面的znode节点

开始启动kafka
kafka-windows集群部署

启动了一个kafka的broker1之后,znode出现了一个临时节点controller 并且显示id是1,

说明当前的broker已经被选为controller

继续启动broker2,broker3

此时出现了三个id

但是controller仍然是broker1

二、模拟controller选举

假设我们关闭broker1

集群的broker都会参与controller的选举,被选举成功的,就接替旧的controller成为新的controller

继续关闭broker2呢?

剩下的节点会继续竞争,此时就剩下了broker3一个节点

四、删除controller节点

同样集群会马上监听到变化,马上继续选举出controller

相关推荐
ezreal_pan32 分钟前
kafka消费能力压测:使用官方工具
分布式·kafka
宽带你的世界34 分钟前
TiDB 是一个分布式 NewSQL 数据库
数据库·分布式·tidb
xiao-xiang1 小时前
kafka-集群缩容
分布式·kafka
比花花解语1 小时前
Kafka在Windows系统使用delete命令删除Topic时出现的问题
windows·分布式·kafka
解决方案工程师1 小时前
【Kafka】Kafka高性能解读
分布式·kafka
yellowatumn1 小时前
RocketMq\Kafka如何保障消息不丢失?
分布式·kafka·rocketmq
python资深爱好者1 小时前
什么容错性以及Spark Streaming如何保证容错性
大数据·分布式·spark
HeartRaindj2 小时前
【中间件开发】kafka使用场景与设计原理
分布式·中间件·kafka
明达技术4 小时前
探索分布式 IO 模块网络适配器
分布式
Ray.19984 小时前
优化 Flink 消费 Kafka 数据的速度:实战指南
大数据·flink·kafka