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

Kafka Connect Replicator正则转换引发Topic重命名配置异常

Kafka Connect Replicator Topic重命名失败排查与修复

问题根源

错误Illegal topic name 'topicbase.${replaceDots}'的核心原因:

  • Kafka Connect Replicator的topic.rename.format配置不支持引用Connect Transform的别名(如${replaceDots}),混用Replicator原生重命名机制和Connect Transforms会导致占位符无法解析,生成非法topic名称。
  • Transform配置存在遗漏:transforms列表仅声明了extractAndReplace,未包含replaceDots,第二个Transform完全不生效。

修复方案

放弃topic.rename.format,通过单个RegexRouter Transform完成所有名称转换逻辑,直接生成目标topic名。

修改后的关键配置片段:

{
  // 保留原有其他配置,仅替换Transform相关部分
  "transforms": "renameTopic",
  "transforms.renameTopic.type": "org.apache.kafka.connect.transforms.RegexRouter",
  // 正则捕获源topic最后两个点分隔的字段(如topic1.a1.b1中的a1和b1)
  "transforms.renameTopic.regex": "^.*\\.(\\w+)\\.(\\w+)$",
  // 直接生成目标topic:前缀+捕获组1-捕获组2(横杠连接)
  "transforms.renameTopic.replacement": "topicbase.$1-$2",
  
  // 移除无效的topic.rename.format配置
  // "topic.rename.format": "topicbase.${replaceDots}",
}

转换逻辑验证

  • 源topic topic1.a1.b1 → 捕获a1和b1 → 转换为topicbase.a1-b1
  • 源topic topic2.c1.b1 → 捕获c1和b1 → 转换为topicbase.c1-b1

额外检查项

  1. 确保transforms列表仅包含实际使用的Transform别名,多个Transform用逗号分隔(如需)
  2. 保留topic.auto.create: true,确保目标集群自动创建topic
  3. 确认目标集群的topic命名规则允许topicbase.xx-xx格式(无特殊字符、长度合规)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 20:47:32