我们正在使用在 Azure 容器实例中运行的 Kafka MirrorMaker 1 将记录从 kafka 集群发送到 Microsoft Azure Eventhub。我们的主题有 10 个分区,我们在 Azure EventHub 中手动创建了一个名称和分区数相同的主题。不幸的是,这些记录在被 MirrorMaker 1 复制后失去了原来的分区。有没有办法使用 MirrorMaker 1 保留原来的分区?
1 回答
0
它不是; 记录通过 重新发送DefaultPartitioner
,特别是因为 MirrorMaker 不保证目标具有与源相同数量的分区。您需要编写自己的MirrorMakerMessageHandler
子类以适应保持分区相同(参考--message.handler
和--message.handler.args
CLI 选项)。您也可以在此类中创建目标主题。
由于您可以选择运行任何容器,建议您切换到使用 MirrorMaker 2 运行 Kafka Connect 集群 - https://kafka.apache.org/documentation.html#georeplication
于 2021-08-24T14:03:04.400 回答