Kafka镜像制造商将所有没有分区键的消息随机放在目标集群中

Kafka mirror maker putting all messages without a partitioning key together randomly in the target cluster

我们正在使用 Kafka 镜像制作器将 0.8.2.1 集群中的主题镜像到 0.10.2.0 集群。然而,对于某些主题,我们依赖于循环分区分配(没有明确的分区键)。

我知道镜像制造商会保留密钥并维护从源到目标的分区,但我看到一些奇怪的事情发生了:

源簇偏移量:

event_edi:0:28731
event_edi:1:28775
event_edi:2:28643

目标集群偏移量:

event_edi:2:169
event_edi:1:88
event_edi:0:85596

这些消息中的大多数都没有任何密钥。将它们全部组合在一起并转储在同一个分区而不是循环中似乎很奇怪。

对于镜像制造商,我有一个 SyncProducer 运行,其余配置都是默认的。

如果有人能帮助我理解如何避免这种情况/或者如果我全错了,将不胜感激! TIA!

如果您没有明确地使用密钥对日志进行分区,它会这样做。我们的消息没有任何分区键,因此落在同一个分区