繁体   English   中英

Kafka Mirror Maker:同步 __consumer_offsets 主题重复项

[英]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。

例子

  • Mirror Maker 仍在 DC2 中运行。
  • 消费者在 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,他们明确说明不支持仅一次的动机:

https://cwiki.apache.org/confluence/display/KAFKA/KIP-382%3A+MirrorMaker+2.0#KIP-382:MirrorMaker2.0-Motivation

但他们打算在未来这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM