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
在这里插入图片描述

Kafka中,ZooKeeper起着至关重要的作用。它主要用于管理和协调整个Kafka集群的运行。具体来说,ZooKeeper在以下几个方面发挥作用: 1. 控制器选举Kafka集群中的任意一台Broker都可以成为控制器(Controller),但在运行过程中只能有一个Broker担任该角色。ZooKeeper帮助Kafka进行控制器的选举,确保只有一个Broker成为控制器,并负责管理和协调整个集群的运行。 2. 元数据管理:当Broker启动时,它会向ZooKeeper注册自己的信息。控制器会监听这些注册信息,并生成集群的元数据信息。然后,控制器将这些元数据信息分发给其他的服务器,使得整个集群中的每个成员都能感知到其他成员的存在。通过这种方式,整个集群能够了解分区的分配方案,从而进行相应的管理和协调。 3. 监控Broker状态:每个Broker在启动后会在ZooKeeper的/Brokers/ids路径下创建一个临时节点。当Broker宕机或主动关闭时,与ZooKeeper的会话结束,该临时节点会被自动删除。ZooKeeper的Watch机制会将这一变更推送给控制器,使得控制器能够知道有Broker关闭或宕机的情况,从而进行后续的协调操作。 综上所述,ZooKeeperKafka中起着控制器选举、元数据管理和监控Broker状态等重要作用。 #### 引用[.reference_title] - *1* *2* *3* [[kafka]kafka中的zookeeper是做什么的?](https://blog.csdn.net/pmdream/article/details/119985882)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值