我正在尝试用MirrorMaker 2.0复制卡夫卡集群。我使用以下mm2.属性:
# 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)发送消息时,没有复制到第二个集群。
我错过了什么?
感谢你的帮助,
发布于 2021-11-10 08:04:45
mm2在独立(单节点)模式下运行良好,但是当涉及到集群时,存在一个bug。
发布于 2020-01-23 17:14:26
你的配置文件看起来没问题。但是,那些引导服务器端口看起来是不存在的。19092
,29092
等,这些都是典型的9092
。你能试着把那些换成9092
吗?
发布于 2020-01-25 13:32:18
我想,我(在朋友的帮助下)发现了什么问题。如果主题在启动之前不存在,那么复制就不会发生。源卡夫卡集群中应该存在主题。
我使用Java生成器并启用了主题自动创建。自动创建主题似乎不会触发MirrorMaker启动复制。
我真的不知道在定义时是否是作为设计的source->dest.enabled=true
行为,或者可能与几天前解决的bug:https://github.com/apache/kafka/pull/7745有关。
https://stackoverflow.com/questions/59883793
复制相似问题