遵循此处kafka-mirror-maker-failing-to-replicate-consumer-offset-topic所述的解决方案。我能够跨DC1(Live Kafka群集)和DC2(Backup 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 < / p>
请让我知道我是否在这里丢失任何东西。
答案 0 :(得分:1)
如果您使用的是Mirror Maker 2.0,他们会明确地说不支持一次创建:
但是他们打算将来做。