Kafka Mirror maker:让消费者滞后于负面(-x)

Kafka Mirror maker : Getting consumer lag in negative (-x)

我是 运行 Apache MirrorMaker 3.0.0,在两个 Kafka 集群(名为 DC、DR)上采用主动-主动策略。因此,关于 DC 的主题被 MirrorMaker2 复制为 DC。 在 DR 集群上,反之亦然。

用例:在名为:notification-test1 的 DC 集群主题中生成了 20 条记录,并消耗了同一集群中的所有 20 条记录,因此滞后为 0,并且由于保留期而刷新了记录(我已将保留期设置为 10 分钟)。之后我启动了 DR 集群和 kafka MirrorMaker2。

预期:

 Current-Offset : 0 (because Initial 20 records are flushed due to retention period. With delta difference, cluster1 21th record is equivalent to 1st record of cluster2 )
 Log_end_offset : 0 (same reason)
 Lag : 0  

观察 :

 Current-Offset : 20 (Not expected)
 Log_end_offset : 0 
 Lag : -20 ( 0 - 20 ) Lag is negative

截图:

如有遗漏,请多多指教。

提前致谢..!!

您很可能遇到了一个已知问题:KAFKA-12635

当 MirrorMaker 在一个主题上启动时会发生这种情况,该主题由于保留而具有一些空分区。在这种情况下,提交的偏移量转换失败并且 MirrorMaker 提交的偏移量大于目标集群中的日志结束偏移量,因此你会得到负滞后!

很遗憾,这个问题还没有解决。我在这个 PR.

中提出了一个解决方案

在修复发布之前,如果您为源集群上受影响的分区生成记录,它最终应该会自行解决。