Kafka Mirror Maker不复制Counsumergroup偏移

时间:2019-11-27 09:49:50

标签: apache-kafka apache-kafka-mirrormaker

我们已经设置MirrorMaker在两个Kafka集群之间复制消息。我们还在镜像制作者的消费者属性中设置了exclude.internal.topic=false,以复制内部主题。我假设这还将复制__consumer_offset topic,这反过来将同步辅助群集中的使用者组偏移量。

但是,当我们在辅助群集中启动使用者组时,它从头开始消耗消息,因此看起来使用者组偏移量没有在辅助群集中复制。

任何人都可以提供一些建议,因为我们如何使用MirrorMaker或任何其他解决方案同步辅助群集中的使用者组偏移量?

1 个答案:

答案 0 :(得分:1)

乍一看,复制__consumer_offsets主题似乎是一个好主意,但实际上并没有按您期望的那样工作。

在不同群集之间复制主题时,在大多数情况下,源群集和目标群集之间记录的偏移量会有所不同。偏移量在两个簇之间发散的原因包括:

  • 由于Mirror Maker至少一次语义,因此重复了来自Mirror Maker的消息
  • 由于重试而导致的消息顺序不同
  • 由于保留限制,源群集上的第一个偏移量不为零

这使__consumer_offsets的内容在目标群集中无用。

Mirror Maker 2将成为Kafka 2.4(预计于2019年11月/十二月发布)的一部分,它提供了一种“转换”偏移量的方法,以便可以在群集之间轻松迁移消费者。