You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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不会有任何效果。
解决步骤
  1. 修正配置作用域,删除原有错误的offset重置配置项,新增链路级别的消费者配置:
A->B.consumer.auto.offset.reset = latest
  1. 清理历史已提交的无效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重置操作,再重启任务即可。
  2. 启动后验证:查看MM2日志中MirrorSourceConnector的配置打印项,确认对应复制任务的auto.offset.reset值为latest即配置生效。

内容的提问来源于stack exchange,提问作者Scourrge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 23:42:28