我试图阻止所有属于同一ISR的经纪人进行测试。
所有生产者都发送了完全分区0.当代理商11和12关闭时,消费者无法再接收消息。领导得到了 - 1。
在回到相应的领导者之前,分区无法正常运行。
你知道解决方案是什么吗?为什么?
答案 0 :(得分:1)
这是预期的行为。但是,如果您赞成可用性超过一致性,则可以启用不洁领导者选举(请参阅文档:https://kafka.apache.org/documentation/#brokerconfigs)。除非您确定以消息丢失为代价获得可用性,否则不建议这样做。
unclean.leader.election.enable
指示是否启用不在ISR集中的副本作为最后手段被选为领导者,即使这样做可能会导致数据丢失
答案 1 :(得分:0)
如果ISR中的代理已关闭,则该分区将脱机。这是框架的工作方式,请阅读kafka文档以获取更多详细信息。