Debezium对接GCP CloudSQL PostgreSQL报decoderbufs文件缺失问题求助
问题根源
你配置的环境变量命名不符合Debezium Server的参数映射规则,导致指定wal2json插件的配置未生效,Debezium仍使用默认的decoderbufs插件发起请求,而CloudSQL PostgreSQL默认不提供decoderbufs插件,因此触发报错。
配置错误点
PostgreSQL连接器的解码插件参数对应的Debezium Server环境变量应为DEBEZIUM_SOURCE_PLUGIN_NAME,你错误写为DATABASE_SOURCE_PLUGIN_NAME,因此配置不生效。
修复方案
- 修改K8s Manifest中的对应环境变量配置:
将原有行:
- name: DATABASE_SOURCE_PLUGIN_NAME value: wal2json
替换为:
- name: DEBEZIUM_SOURCE_PLUGIN_NAME value: wal2json
- 清理无效旧复制槽(可选,避免启动冲突):
若Debezium此前启动时已经自动创建了使用decoderbufs的复制槽,先登录PostgreSQL执行命令删除:
SELECT pg_drop_replication_slot('cdc_poc');
默认复制槽名称为DEBEZIUM_SOURCE_DATABASE_SERVER_NAME参数值的全小写格式,你配置的该参数值为CDC_POC,对应槽名为cdc_poc,如有自定义槽名配置可对应调整。
3. 重新apply修改后的K8s Manifest,重启Debezium Pod即可正常连通。
内容的提问来源于stack exchange,提问作者user2501711
相关产品推荐
相关产品推荐

