Kafka MirrorMaker 2配置从最新offset复制不生效问题
问题描述
使用MirrorMaker 2实现Kafka集群A到集群B的主题复制时,预期复制流程从主题最新offset位置启动,不做全量历史数据同步。先后设置全局auto.offset.reset=latest、源集群消费者维度A.consumer.auto.offset.reset=latest,日志已显示配置加载成功,但复制任务仍然从主题最早位置开始同步数据。
使用的初始MM2配置如下:
clusters = A, B A.bootstrap.servers = broker-01A:9092 B.bootstrap.servers = broker-01B:9092,broker-02B:9092,broker-03B:9092 replication.policy.class = org.apache.kafka.connect.mirror.IdentityReplicationPolicy #Enable replication between clusters and define topics which should be replicated A->B.enabled = true A->B.topics = .* A->B.replication.factor=3 A->B.emit.heartbeats.enabled = true A->B.emit.checkpoints.enabled = true auto.offset.reset=latest refresh.topics.enabled=true heartbeats.topic.replication.factor=1 checkpoints.topic.replication.factor=1 offset-syncs.topic.replication.factor=1 config.storage.replication.factor = 1 offset.storage.replication.factor = 1 status.storage.replication.factor = 1
后续调整配置为A.consumer.auto.offset.reset=latest后问题仍然存在。
根本原因
- MM2配置存在严格的作用域优先级:全局配置、单集群维度的通用消费者配置,不会直接作用于指定方向的复制链路任务。之前配置的全局
auto.offset.reset=latest是所有组件的默认兜底值,A.consumer.auto.offset.reset=latest是所有和A集群交互的通用消费者的配置,但A->B复制链路的源端消费者会优先读取带A->B.前缀的链路专属配置,未显式配置时会采用MM2内置的默认值earliest,不会继承之前设置的集群级配置。 auto.offset.reset参数仅在消费者组不存在已提交的有效offset时才会触发逻辑。如果之前曾经启动过MM2任务,哪怕运行时间极短,任务已经将最早位置的offset提交到目标集群的Connect内部存储topic、MM2专属的offset-syncs和checkpoints内部topic中,后续重启任务时会直接读取已提交的offset执行,完全不会触发offset重置逻辑,此时修改auto.offset.reset不会有任何效果。
解决步骤
- 修正配置作用域,删除原有错误的offset重置配置项,新增链路级别的消费者配置:
A->B.consumer.auto.offset.reset = latest
- 清理历史已提交的无效offset,否则新配置不会生效:
- 测试环境可直接停止MM2进程,删除集群B上的MM2及Kafka Connect内部topic:
mm2-offset-syncs.A.internal、A.checkpoints.internal、A.heartbeats.internal,以及Connect默认的三个内部topicconnect-configs、connect-offsets、connect-statuses,之后重启MM2即可。 - 生产环境不建议直接删除内部topic,可调用Kafka Connect的REST API,执行MirrorSourceConnector的offset重置操作,再重启任务即可。
- 测试环境可直接停止MM2进程,删除集群B上的MM2及Kafka Connect内部topic:
- 启动后验证:查看MM2日志中MirrorSourceConnector的配置打印项,确认对应复制任务的
auto.offset.reset值为latest即配置生效。
内容的提问来源于stack exchange,提问作者Scourrge
相关产品推荐
相关产品推荐

