我们已经安装了mirrormaker来跨两个kafka集群复制消息。我们还设置了 exclude.internal.topic=false
在镜像生成器中复制内部主题的使用者属性。我想这也会复制 __consumer_offset topic
进而同步辅助集群中的消费组偏移量。
但是,当我们在辅助集群中启动使用者组时,它从一开始就开始使用消息,因此看起来使用者组偏移量没有在辅助集群中得到复制。
有谁能提供一些建议,比如我们如何使用mirrormaker或任何其他解决方案同步辅助集群中的consumergroup偏移量?
1条答案
按热度按时间webghufk1#
当第一眼看到复制
__consumer_offsets
这个主题看起来是个好主意,但实际上并不像你想象的那样有效。当跨不同集群复制主题时,在大多数情况下,源集群和目标集群之间的记录偏移量是不同的。偏移量在两个簇之间发散的原因包括:
由于镜像生成器的语义至少存在一次,因此它会复制来自镜像生成器的消息
由于重试而导致不同的消息顺序
由于保留限制,源群集上的第一个偏移量不为零
这将呈现
__consumer_offsets
在目标群集中无用。mirror maker 2将是kafka 2.4(预计于2019年11月/12月发布)的一部分,它提供了一种“转换”偏移量的方法,因此消费者可以在集群之间轻松迁移。