[英]Kafka Mirror Maker : Sync __consumer_offsets topic duplicates
遵循此处提到的解决方案kafka-mirror-maker-failing-to-replicate-consumer-offset-topic 。 我能够在 DC1(实时 Kafka 集群)和 DC2(备份 Kafka 集群)集群中启动镜像制造商而没有任何错误。
看起来它也能够跨 DC2 集群从 DC1 集群同步__consumer_offsets
主题。
问题
如果我关闭 DC1 的消费者并将相同的消费者(相同的 group_id)指向 DC2,它会再次读取相同的消息,即使镜像制造商能够同步此主题和分区的偏移量。
我可以看到 LOG-END-OFFSET 显示正确,但 CURRENT-OFFSET 仍然指向旧的导致 LAG。
例子
消费者在 DC1 中关闭之前
//DC1 __consumer_offsets topic +-----------------------------------------------------------------+ | TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG | +-----------------------------------------------------------------+ | gs.suraj.test.1 0 10626 10626 0 | | gs.suraj.test.1 2 10619 10619 0 | | gs.suraj.test.1 1 10598 10598 0 | +-----------------------------------------------------------------+
停止 DC1 中的消费者
消费者在 DC2 中启动之前
//DC2 __consumer_offsets topic +-----------------------------------------------------------------+ | TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG | +-----------------------------------------------------------------+ | gs.suraj.test.1 0 9098 10614 1516 | | gs.suraj.test.1 2 9098 10614 1516 | | gs.suraj.test.1 1 9098 10615 1517 | +-----------------------------------------------------------------+
由于这种滞后,当我在 DC2 中启动同一个消费者时再次读取 4549 条消息,这不应该发生,因为它已经在 DC1 中读取并提交,并且镜像制造商已将__consumer_offsets
主题从 DC1 同步到 DC2
如果我在这里遗漏了什么,请告诉我。
如果您使用的是 Mirror Maker 2.0,他们明确说明不支持仅一次的动机:
但他们打算在未来这样做。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.