Kafka 连接 jdbc 源返回 0 条记录
Posted
技术标签:
【中文标题】Kafka 连接 jdbc 源返回 0 条记录【英文标题】:Kafka connect jdbc source returns 0 record 【发布时间】:2021-08-23 15:48:20 【问题描述】:尽管表 news
有超过 65,000,000 条记录,但我在 Kafka 主题中看不到任何记录。
连接器配置:
curl -X POST http://localhost:8083/connectors -H "Content-Type: application/json" -d '
"name": "news_fetcher",
"config":
"connector.class": "io.confluent.connect.jdbc.JdbcSourceConnector",
"connection.url": "jdbc:mysql://MY-SERVER/DATABASE",
"connection.user": "user",
"connection.password": "HIDDEN",
"mode":"bulk",
"table.whitelist": "news",
"topic.prefix": "news_"
'
此消息一直打印在工作节点中:
[2021-06-06 11:20:29,355] INFO Begin using SQL query: SELECT * FROM `DATABASE`.`news` (io.confluent.connect.jdbc.source.TableQuerier:164)
[2021-06-06 11:20:31,519] INFO WorkerSourceTaskid=news_fetcher-0 Committing offsets (org.apache.kafka.connect.runtime.WorkerSourceTask:424)
[2021-06-06 11:20:31,521] INFO WorkerSourceTaskid=news_fetcher-0 flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask:441)
在切换到mysql
之前,我对sqlite
进行了测试,一切正常。知道如何解决吗?
【问题讨论】:
【参考方案1】:日志说它正在运行查询,并且您没有收到有关缺少 mysql 驱动程序或某些错误版本的错误,因此我建议首先修改 log4j 属性以获取更多 DEBUG 日志。
其次,尝试限制每个批量查询的行数。特别是因为批量模式会不断地将数据上传到主题。
否则,使用不同的模式值,或者如果您想对表进行快照并获取正确的 CDC Kafka 记录,请切换到 Debezium
【讨论】:
以上是关于Kafka 连接 jdbc 源返回 0 条记录的主要内容,如果未能解决你的问题,请参考以下文章
提取和转换 jdbc sink 连接器的 kafka 消息特定字段