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

相关推荐
安当加密12 小时前
智能合约在分布式密钥管理系统中的应用
分布式·智能合约
失散1312 小时前
分布式专题——41 RocketMQ集群高级特性
java·分布式·架构·rocketmq
失散1312 小时前
分布式专题——42 MQ常见问题梳理
java·分布式·架构
安当加密12 小时前
基于区块链的分布式密钥管理系统:构建去中心化、高可信的密码基础设施
分布式·去中心化·区块链
亿牛云爬虫专家12 小时前
优化分布式采集的数据同步:一致性、去重与冲突解决的那些坑与招
分布式·爬虫·数据采集·爬虫代理·代理ip·数据同步·房地产
心随雨下15 小时前
Redis中Geospatial 实际应用指南
数据库·redis·分布式·缓存
想你依然心痛17 小时前
Spark大数据分析与实战笔记(第六章 Kafka分布式发布订阅消息系统-01)
笔记·分布式·spark
故事很腻i17 小时前
安装kafka-2.5.1
分布式·kafka
坐吃山猪18 小时前
Kafka11-知识补充
kafka
yumgpkpm20 小时前
CMP平台(类Cloudera CDP7.3)在华为鲲鹏的Aarch64信创环境中的性能表现
大数据·flink·kafka·big data·flume·cloudera