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

Debezium PostgreSQL连接器运行正常但Kafka Topic无法创建

问题分析与解决方案

你遇到的核心问题是Debezium连接器配置提交成功,但未生成预期的CDC Topic,结合你的Kafka集群和连接器配置,主要排查及修复步骤如下:

1. 复制因子配置不匹配

你的Kafka集群包含3个broker,连接器配置中设置topic.creation.default.replication.factor: "1",但Kafka broker的系统Topic复制因子配置为3(如KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3)。当KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"时,Connect自动创建Topic的复制因子需与集群能力兼容,建议将复制因子改为3,与集群配置统一:
修改连接器配置对应字段:

"topic.creation.default.replication.factor": "3"

2. 触发数据捕获动作

Debezium的CDC Topic通常在第一次捕获到数据变更时才会创建,而非连接器启动即生成。执行以下操作触发数据变更:

  1. 进入PostgreSQL容器:
docker exec -it postgres psql -U debezium -d inventory
  1. 插入测试数据:
INSERT INTO inventory.customers (id, first_name, last_name, email) VALUES (1001, 'John', 'Doe', 'john.doe@example.com');

3. 检查连接器运行状态

确认连接器是否正常运行:

curl -X GET http://localhost:8083/connectors/inventory-connector/status

若状态非RUNNING,查看Connect日志排查异常:

docker logs kafka-connect

4. 验证目标表存在性

确保inventory.customers表确实存在于PostgreSQL中:

SELECT * FROM information_schema.tables WHERE table_schema = 'inventory' AND table_name = 'customers';

5. 重新查看Kafka Topic列表

触发数据变更后,执行命令查看Topic:

docker exec kafka1 kafka-topics --list --bootstrap-server kafka1:19091

预期会出现dbserver1.inventory.customers目标Topic。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 20:40:00