2

我正在尝试使用 MirrorMaker 2.0 复制 Kafka 集群。我正在使用以下 mm2.properties:

# mm2.properties
clusters=source, dest

source.bootstrap.servers=kafka-1:9092,kafka-2:19092,kafka-3:29092
dest.bootstrap.servers=kafka-4:39092,kafka-5:49092,kafka-6:59092

source->dest.enabled=true

我可以看到,当 MirrorMaker 启动时,它会创建自己的主题。例如,它在源集群上创建:mm2-configs.dest.internal,内容如下:

{
   "properties":{
      "connector.class":"org.apache.kafka.connect.mirror.MirrorSourceConnector",
      "source.cluster.producer.bootstrap.servers":"kafka-4:39092,kafka-5:49092,kafka-6:59092",
      "source.cluster.alias":"dest",
      "source.cluster.bootstrap.servers":"kafka-4:39092,kafka-5:49092,kafka-6:59092",
      "target.cluster.producer.bootstrap.servers":"kafka-1:9092,kafka-2:19092,kafka-3:29092",
      "enabled":"false",
      "target.cluster.admin.bootstrap.servers":"kafka-1:9092,kafka-2:19092,kafka-3:29092",
      "target.cluster.alias":"source",
      "target.cluster.consumer.bootstrap.servers":"kafka-1:9092,kafka-2:19092,kafka-3:29092",
      "name":"MirrorSourceConnector",
      "target.cluster.bootstrap.servers":"kafka-1:9092,kafka-2:19092,kafka-3:29092",
      "source.cluster.admin.bootstrap.servers":"kafka-4:39092,kafka-5:49092,kafka-6:59092",
      "source.cluster.consumer.bootstrap.servers":"kafka-4:39092,kafka-5:49092,kafka-6:59092"
   }
}

并在目标集群mm2-configs.source.internal主题中包含以下内容:

{
   "properties":{
      "connector.class":"org.apache.kafka.connect.mirror.MirrorSourceConnector",
      "source.cluster.producer.bootstrap.servers":"kafka-1:9092,kafka-2:19092,kafka-3:29092",
      "source.cluster.alias":"source",
      "source.cluster.bootstrap.servers":"kafka-1:9092,kafka-2:19092,kafka-3:29092",
      "target.cluster.producer.bootstrap.servers":"kafka-4:39092,kafka-5:49092,kafka-6:59092",
      "enabled":"true",
      "target.cluster.admin.bootstrap.servers":"kafka-4:39092,kafka-5:49092,kafka-6:59092",
      "target.cluster.alias":"dest",
      "target.cluster.consumer.bootstrap.servers":"kafka-4:39092,kafka-5:49092,kafka-6:59092",
      "name":"MirrorSourceConnector",
      "target.cluster.bootstrap.servers":"kafka-4:39092,kafka-5:49092,kafka-6:59092",
      "source.cluster.admin.bootstrap.servers":"kafka-1:9092,kafka-2:19092,kafka-3:29092",
      "source.cluster.consumer.bootstrap.servers":"kafka-1:9092,kafka-2:19092,kafka-3:29092"
   }
}

但是当我尝试向源集群(kafka-1、kafka-2、kafka-3)发送消息时 - 没有任何内容复制到第二个集群。

我想念什么?

感谢任何帮助Thx,

4

3 回答 3

0

mm2 在独立(单节点)模式下运行良好,但在集群方面存在错误。

此处已报告详细信息: https ://cwiki.apache.org/confluence/display/KAFKA/KIP-710%3A+Full+support+for+distributed+mode+in+dedicated+MirrorMaker+2.0+clusters

于 2021-11-10T08:04:45.423 回答
0

你的配置文件看起来不错。但是,那些引导服务器端口看起来不正常。 19092,29092等。这些通常 9092只是。您可以尝试将它们改回9092吗?

于 2020-01-23T17:14:26.177 回答
0

我想,我(在我朋友的帮助下)发现了问题所在。如果在启动 MirrorMaker 之前主题不存在,则不会发生复制。主题应该存在于源 Kafka 集群中。

我使用启用了主题自动创建的 Java 生产者。似乎,自动主题创建不会触发 MirrorMaker 开始复制。

我真的不知道它在定义或可能与几天前解决的错误有关时是否符合设计行为: https ://github.com/apache/kafka/pull/7745 。source->dest.enabled=true

于 2020-01-25T13:32:18.407 回答