如果leader崩溃,Kafka怎样重新选举?

leader对于消息的写入以及读取是非常关键的,此时有两个疑问:

1. Kafka如何确定某个partition是leader、哪个partition是follower呢?

2. 某个leader崩溃了,如何快速确定另外一个leader呢?因为Kafka的吞吐量很高、延迟很低,所以选举leader必须非常快。

如果leader崩溃,Kafka会如何?

使用Kafka Eagle找到某个partition的leader,再找到leader所在的broker。在Linux中强制杀掉该Kafka的进程,然后观察leader的情况。

如果leader崩溃,Kafka怎样重新选举?

通过观察,我们发现,leader在崩溃后,Kafka又从其他的follower中快速选举出来了leader。

Controller介绍

l Kafka启动时,会在所有的broker中选择一个controller

l 前面leader和follower是针对partition,而controller是针对broker的

l 创建topic、或者添加分区、修改副本数量之类的管理任务都是由controller完成的

l Kafka分区leader的选举,也是由controller决定的

Controller的选举

l 在Kafka集群启动的时候,每个broker都会尝试去ZooKeeper上注册成为Controller(ZK临时节点)

l 但只有一个竞争成功,其他的broker会注册该节点的监视器

l 一点该临时节点状态发生变化,就可以进行相应的处理

l Controller也是高可用的,一旦某个broker崩溃,其他的broker会重新注册为Controller

找到当前Kafka集群的controller

1. 点击Kafka Tools的「Tools」菜单,找到「ZooKeeper Brower…」

2. 点击左侧树形结构的controller节点,就可以查看到哪个broker是controller了。

如果leader崩溃,Kafka怎样重新选举?

测试controller选举

通过kafka tools找到controller所在的broker对应的kafka进程,杀掉该进程,重新打开ZooKeeper brower,观察kafka是否能够选举出来新的Controller。

如果leader崩溃,Kafka怎样重新选举?

Controller选举partition leader

l 所有Partition的leader选举都由controller决定

l controller会将leader的改变直接通过RPC的方式通知需为此作出响应的Broker

l controller读取到当前分区的ISR,只要有一个Replica还幸存,就选择其中一个作为leader否则,则任意选这个一个Replica作为leader

l 如果该partition的所有Replica都已经宕机,则新的leader为-1

为什么不能通过ZK的方式来选举partition的leader?

l Kafka集群如果业务很多的情况下,会有很多的partition

l 假设某个broker宕机,就会出现很多的partiton都需要重新选举leader

l 如果使用zookeeper选举leader,会给zookeeper带来巨大的压力。所以,kafka中leader的选举不能使用ZK来实现。

免责声明:文章内容来自互联网,本站仅作为分享,不对其真实性负责,如有侵权等情况,请与本站联系删除。
转载请注明出处:如果leader崩溃,Kafka怎样重新选举? https://www.dachanpin.com/a/cyfx/10866.html

(0)
消费者分区分配策略:Stricky、Range、RoundRobin
上一篇 2023-05-12 02:25:57
怎样使用requests模块抓取网页?
下一篇 2023-05-12 02:27:09

相关推荐

  • 干洗店加盟:社区创业为什么首选开UCC干洗加盟店

      近年来,干洗行业发展火爆,而UCC国际干洗加盟店数量早已突破10000,那么使投资者们选择干洗店加盟的理由是什么呢?为什么现在的洗衣行业加盟队伍如此庞大?作为品牌洗衣店UCC开起来会比较省心,品牌总部有数名资深的业内人士为加盟商提供相关的开店指导,指导的内容覆盖了洗衣技术、洗衣店经营管理技能、成本预算、对商圈效益的评估、店址选择、风险控制等。 免责声明:…

    创业分享 2023-05-13
    141
  • 初创者找创业方向的 4 个“重叠节点”:定位后置,基础盘前置

    初创者好像很卑微的说,好像前辈们都在教导说一定要受苦受难,一定要经历那些人情冷暖,世态炎凉那样才能成功。 所以接下来我会调整一下内容,连同国庆的问候一齐传递给大家,主要积累也开始有了效果,订阅数一直在上涨。废话不多说,开始今天的正文。 看不到更高的风景也不要徒劳,与其焦虑无法拥有的,不如欣赏眼前的。 此刻发生的事情往往会影响接下来三个月之后的步履。这对于刚刚…

    创业分享 2023-05-10
    138
  • 优家宝贝:想开母婴店的8个错误,创业者如何避免?

    4、容易上手难坚持 2、随大流 3、不懂得如何对消费者进行指引 有些人买东西,不知道什么季节卖,他们总是会在销售一些淡季的产品,如果是这样的话自然是无法得到好的销售业绩。 7、产品不全 如果你想开一家母婴店,一定要记住想开母婴店的8个错误,不要让创业走弯路!随着母婴产业的快速发展,许多商人找到了商机,同样,它也带来了激烈的竞争,要想更好地赢得顾客的心,那么还…

    2023-05-12
    150
  • 策略点评报告:创业板上涨乏力,打新收益持续下降

      市值风格配置:年末超配大盘。近期大盘走强,叠加3季报超预期等因素,市值因子分化较大,考虑到年报要等到明年一季度才陆续公布,我们建议在年末配置大盘,低配小盘。建议配置50%大盘,40%中盘,10%小盘。   行业关注:建议关注农林牧渔、纺织服装、家用电器、食品饮料。以超大单主动净买入金额作为观察变量统计了各行业每周的累计值,本周监测到电子、家用电器、食品饮…

    创业分享 2023-05-21
    130
  • 年轻就是要敢闯——记市中区返乡创业党员李树刚

    李树刚承包的鱼塘 2012年年底,本在浙江打工的市中区伏龙镇牛角田村村民李树刚回到家乡创业,先后创办榨油坊和承包鱼塘。经过6年多的打拼,他不仅实现了自身价值,同时也用自己的经历,证明广阔农村已逐渐成为当代年轻人实现价值的梦想之地。 不少同学、朋友听闻他的创业经历后,也打算回家创业——“还是你的眼光看得远,提前回家创业,几年时间,就把鱼塘和榨油坊发展这么好。以…

    2023-05-13
    129

发表回复

登录后才能评论

联系我们

在线咨询: QQ交谈

邮件:362039258@qq.com

工作时间:周一至周五,9:30-16:30,节假日休息