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

使用Debezium同步Postgres数据时Kafka报UNKNOWN_TOPIC_OR_PARTITION错误求助

排查Debezium Postgres连接器主题未创建及UNKNOWN_TOPIC_OR_PARTITION错误的思路

1. 确认Kafka集群的可达性与可用性

  • 进入Kafka容器,执行以下命令验证集群连接:
    kafka-topics.sh --list --bootstrap-server kafka:9092
    
    若能正常列出现有主题,说明Kafka服务正常;若失败,检查Kafka容器是否运行正常,以及Connect容器与Kafka容器的网络连通性(可在Connect容器内执行ping kafka或telnet kafka 9092测试)。

2. 检查Kafka主题自动创建配置

  • Debezium默认依赖Kafka的自动创建主题功能,需确认Kafka broker的auto.create.topics.enable参数是否为true:
    kafka-configs.sh --describe --bootstrap-server kafka:9092 --entity-type brokers --entity-name 0
    
  • 若自动创建未开启,要么修改Kafka配置并重启服务,要么手动创建所需主题:
    # 创建research表对应的主题
    kafka-topics.sh --create --topic dbserver1.public.research --bootstrap-server kafka:9092 --partitions 1 --replication-factor 1
    # 创建schema变更历史主题
    kafka-topics.sh --create --topic schema-changes.students --bootstrap-server kafka:9092 --partitions 1 --replication-factor 1
    

3. 验证PostgreSQL的wal_level配置

  • Debezium需要PostgreSQL启用逻辑复制,确保wal_level设置为logical:
    -- 进入Postgres容器执行
    psql -U postgres -d students -c "show wal_level;"
    
  • 若结果不是logical,修改postgresql.conf中的wal_level = logical,然后重启Postgres服务。

4. 检查PostgreSQL用户权限

  • 确认用于连接的postgres用户拥有REPLICATION权限:
    psql -U postgres -d students -c "SELECT rolname, rolreplication FROM pg_roles WHERE rolname='postgres';"
    
  • 若rolreplication为f,执行以下命令赋予权限:
    ALTER USER postgres REPLICATION;
    

5. 排查Transform配置的影响

  • 暂时移除连接器配置中的transforms相关参数,重启连接器后观察是否能正常创建主题。如果恢复正常,再逐步添加transform配置,排查是否是解包逻辑导致的问题。

6. 查看Kafka Connect完整日志

  • 获取Connect容器的全部日志,查找更早的错误信息(比如Postgres连接失败、Schema Registry不可达等):
    docker logs <your-connect-container-name>
    
  • 也可以通过Connect的REST API查看连接器状态:
    curl -X GET http://<connect-host>:8083/connectors/postgres-source/status
    

7. 确认数据库白名单与表监听配置

  • 检查连接器日志中是否有识别到public.admission和public.research表的记录,确保database.whitelist配置正确(当前配置的students是数据库名,符合要求)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 23:50:26