我曾试图阻止所有属于同一isr的经纪人进行测试。所有制作人都在发送0分区。当代理11和12关闭时,消费者无法再接收消息。头儿得到-1。直到相应的领导人回来,分区才正常工作。你知道解决办法是什么吗?为什么?当所有isr代理停止时。
fwzugrvs1#
如果isr中的代理已关闭,则该分区将脱机。这是框架的工作方式,请阅读kafka文档以了解更多详细信息。
nbewdwxp2#
这是预期的行为。但是,如果您倾向于可用性而不是一致性,则可以启用不干净的领导人选举(参见文档:https://kafka.apache.org/documentation/#brokerconfigs). 不建议这样做,除非您确定希望以消息丢失为代价获得可用性。unclean.leader.election.enable启用指示是否在万不得已的情况下启用不在isr集中的复制副本以当选为领导者,即使这样做可能会导致数据丢失
2条答案
按热度按时间fwzugrvs1#
如果isr中的代理已关闭,则该分区将脱机。这是框架的工作方式,请阅读kafka文档以了解更多详细信息。
nbewdwxp2#
这是预期的行为。但是,如果您倾向于可用性而不是一致性,则可以启用不干净的领导人选举(参见文档:https://kafka.apache.org/documentation/#brokerconfigs). 不建议这样做,除非您确定希望以消息丢失为代价获得可用性。
unclean.leader.election.enable启用
指示是否在万不得已的情况下启用不在isr集中的复制副本以当选为领导者,即使这样做可能会导致数据丢失