你知道为什么分区领导是“ - 1”以及如何解决它?

时间:2018-03-31 11:41:56

标签: apache-kafka

我试图阻止所有属于同一ISR的经纪人进行测试。

所有生产者都发送了完全分区0.当代理商11和12关闭时,消费者无法再接收消息。领导得到了 - 1。

在回到相应的领导者之前,分区无法正常运行。

你知道解决方案是什么吗?为什么?

enter image description here

当所有ISR经纪人都停止时。 enter image description here

2 个答案:

答案 0 :(得分:1)

这是预期的行为。但是,如果您赞成可用性超过一致性,则可以启用不洁领导者选举(请参阅文档:https://kafka.apache.org/documentation/#brokerconfigs)。除非您确定以消息丢失为代价获得可用性,否则不建议这样做。

  

unclean.leader.election.enable

     

指示是否启用不在ISR集中的副本作为最后手段被选为领导者,即使这样做可能会导致数据丢失

答案 1 :(得分:0)

如果ISR中的代理已关闭,则该分区将脱机。这是框架的工作方式,请阅读kafka文档以获取更多详细信息。