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

如何使用MirrorMaker 2复制AWS MSK中的空主题

解决MirrorMaker 2同步空主题的问题

方法1:配置定期主题元数据同步

MirrorMaker 2默认仅在源主题有消息写入时触发主题同步,空主题因无偏移量更新不会被检测到。通过以下配置可强制定期扫描源集群主题元数据,同步空主题:

  • 开启主题配置同步:添加source->target.sync.topic.configs=true,确保目标集群主题的分区数、副本数等配置与源一致
  • 指定需同步的主题范围:通过source->target.topic.list设置具体空主题列表或用通配符*覆盖所有主题
  • 设置元数据扫描间隔:配置source->target.sync.topics.interval.ms,比如设为30000(30秒),定期触发同步检查

示例配置片段:

source-cluster:
  bootstrap.servers: <源MSK集群地址>
target-cluster:
  bootstrap.servers: <目标MSK集群地址>
source->target:
  enable: true
  enable.topic.creation: true
  sync.topic.configs: true
  topic.list: "health-check-topic-1,health-check-topic-2" # 或用*匹配所有主题
  sync.topics.interval.ms: 30000

方法2:缩短元数据刷新间隔

Kafka 3.5.0版本的MM2可通过source->target.metadata.max.age.ms降低元数据缓存时长,让MM2更快发现新创建的空主题:

source->target:
  metadata.max.age.ms: 10000 # 10秒刷新一次元数据

方法3:结合AdminClient预创建主题(针对特定场景)

若仅需同步指定空主题,可先通过Kafka命令行工具在源集群创建主题,再配合MM2的定期扫描配置自动同步到目标集群:

示例创建空主题命令:

./kafka-topics.sh --create --topic health-check-empty --bootstrap-server <源MSK地址> --partitions 1 --replication-factor 2

注意事项

  • 确保MM2运行账号对源集群有DescribeTopics权限,对目标集群有CreateTopics权限
  • 使用通配符*时,可通过source->target.blacklist排除内部主题(如__consumer_offsets):
    source->target:
      blacklist: "__consumer_offsets,__transaction_state"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 08:34:59