为什么Kafka会删除通过MirrorMaker2(MM2)复制的数据?
MM2同步时目标集群数据被同步删除排查方向
1. 核心同步配置校验
- 检查
sync.topic.deletes.enabled参数配置:该参数设为true时,源集群A的主题删除操作会同步到目标集群B触发对应镜像主题删除,默认值为false,无跨集群同步删除需求时请固定配置为false。 - 检查
sync.topic.configs.enabled参数配置:开启后源集群主题的cleanup.policy会同步到目标集群,若源集群主题配置delete清理策略且保留时间小于数据同步耗时,会出现刚同步完成的消息直接触发过期删除的问题,可通过topics.*.cleanup.policy配置项覆盖目标集群镜像主题的清理策略。 - 检查同步过滤规则:若使用默认
DefaultReplicationPolicy,源集群A的主题在目标集群会带A.前缀,若同时配置了双向同步,必须在过滤规则中排除所有带集群前缀的主题,避免循环同步触发数据异常。
2. 目标集群侧校验
- 排查目标集群镜像主题的保留时间、最大消息数等清理配置,确认是否存在全局默认保留时间过短,覆盖了同步配置的情况。
- 排查目标集群是否存在其他定时清理脚本、权限规则误操作删除同步数据的可能。
3. 同步任务运行状态校验
- 检索MM2节点运行日志中的
DELETE关键字,确认删除操作的触发来源是MM2同步逻辑还是目标集群本身的组件。 - 确认MM2集群是否存在重复提交的同步任务,多任务竞争写入同一主题可能触发异常清理逻辑。
内容的提问来源于stack exchange,提问作者X.cheer
相关产品推荐
相关产品推荐

