Apache kafka 卡夫卡-控制者经纪人

Apache kafka 卡夫卡-控制者经纪人,apache-kafka,confluent-platform,Apache Kafka,Confluent Platform,这句话是我从一个朋友那里听到的 和(卡夫卡流在行动) 控制器代理负责为主题的所有分区设置领导者/追随者关系。如果Kafka节点死亡或无响应(对ZooKeeper心跳),则控制器代理将重新分配其所有分配的分区(领导者和追随者) 我认为将跟随者分区分配给其他代理是不正确的,因为除非代理返回,否则这些分区不会自行修复。我知道这只发生在领导者副本中,如果拥有领导者副本的代理失败,则包含追随者的代理之一将成为领导者。但是,我不认为追随者的“重新分配”会自动发生,除非重新分配是手动启动的。请添加您的输入术语

这句话是我从一个朋友那里听到的 和(卡夫卡流在行动)

控制器代理负责为主题的所有分区设置领导者/追随者关系。如果Kafka节点死亡或无响应(对ZooKeeper心跳),则控制器代理将重新分配其所有分配的分区(领导者和追随者)


我认为将跟随者分区分配给其他代理是不正确的,因为除非代理返回,否则这些分区不会自行修复。我知道这只发生在领导者副本中,如果拥有领导者副本的代理失败,则包含追随者的代理之一将成为领导者。但是,我不认为追随者的“重新分配”会自动发生,除非重新分配是手动启动的。请添加您的输入

术语可能确实有点偏离,但仍然适用。追随者不一定被分配给其他代理,但他们需要将端点更改为发送获取请求的位置。追随者的工作是与领导者保持同步,如果领导者由于旧代理失败而被分配给新代理,则追随者需要将其获取请求发送给新选出的代理。我认为这就是重新分配在您共享的上下文中的含义。

请参阅此短语“其所有分配的分区(包括领导者和追随者)都由控制器代理重新分配。”-此短语专门说明追随者被重新分配给其他代理。我想这是不对的。但是,领导者将被重新分配为追随者,即ISR将被选为领导者。请确认“领导者将被重新分配为ISR追随者”——是的,这基本上就是我在提供的答案中所写的。我明白了。但是,“追随者”也是这样吗?我的意思是,如果某个经纪人离线,该经纪人的“追随者”会被重新分配给其他经纪人吗?我问这个问题的原因是,我没有看到这种行为发生,追随者不会被移动,因为这将是一个昂贵的操作。更明智的做法是让他们留在原地,让他们知道新的领导者已经被选中,这样他们就可以继续与新的数据流保持同步。我希望这能澄清问题。是的,我也有同样的印象。这就是我要求澄清的原因,因为这一声明与此相矛盾。请参阅引号中的“追随者”一词,它给人的印象是追随者将被移动(重新分配),但事实并非如此。-如果Kafka节点死亡或无响应(对ZooKeeper心跳),则控制器代理将重新分配其所有分配的分区(领导者和跟随者)。这是否回答了您的问题?