0

我们使用 mirror-maker 2.0 尝试了以下场景,并想知道是否预期第二个场景的输出。

场景 1.) 我们使用以下属性和启动命令运行单个 mirror-maker 2.0 实例。

clusters=a,b
tasks.max=10
a.bootstrap.servers=kf-test-cluster-a:9092
a.config.storage.replication.factor=1
a.offset.storage.replication.factor=1
a.security.protocol=PLAINTEXT
a.status.storage.replication.factor=1
b.bootstrap.servers=kf-test-cluster-b:9092
b.config.storage.replication.factor=1
b.offset.storage.replication.factor=1
b.security.protocol=PLAINTEXT
b.status.storage.replication.factor=1
a->b.checkpoints.topic.replication.factor=1
a->b.emit.checkpoints.enabled=true
a->b.emit.hearbeats.enabled=true
a->b.enabled=true
a->b.groups=group1|group2|group3
a->b.heartbeats.topic.replication.factor=1
a->b.offset-syncs.topic.replication.factor=1
a->b.refresh.groups.interval.seconds=30
a->b.refresh.topics.interval.seconds=10
a->b.replication.factor=2
a->b.sync.topic.acls.enabled=false
a->b.topics=.*

启动命令:/usr/bin/connect-mirror-maker.sh connect-mirror-maker.properties &

验证:在源集群(a)上创建新主题“test”,为源集群上的主题生成数据并在目标集群(b)上运行消费者,主题“a.test”以验证数据复制。

观察:按预期工作得很好。

场景 2.) 使用与上述相同的属性再运行一个 MirrorMaker 2.0 实例。

启动命令:/usr/bin/connect-mirror-maker.sh connect-mirror-maker.properties &

验证:在源集群上再创建一个“test2”主题,在源集群上生成数据到主题并在目标集群(b)上运行消费者,主题“a.test2”以验证数据复制。

观察:MM2 能够在目标集群上复制主题,a.test2 存在于目标集群 b 上,但消费者没有得到任何记录来消费。

在较新的 mirror-maker 2.0 实例日志上,主题复制后,mirror-sourceconnector 任务没有重新启动,这在主题复制后在单个实例中重新启动。

注意:没有看到错误日志。

4

1 回答 1

0

我观察到相同的行为,您的消息很可能被复制,您可以通过检查您的消费者组偏移量来验证这一点,问题很可能是您的滞后偏移量为 0,这意味着您的消费者假设所有先前的消息都已被消费。您可以重置偏移量或从头开始读取。理想情况下,检查点心跳应该包含最新的偏移量,但我目前发现这是空的,即使从 Kafka 2.7 开始,检查点心跳复制应该是自动的

于 2021-03-16T17:07:43.970 回答