Kafka Connect写入PostgreSQL报错:No suitable driver found 原因排查
PostgreSQL Sink Connector 报错
No suitable driver found 的原因及解决办法 核心报错原因
Confluent的Kafka Connect JDBC连接器本身不附带任何数据库的JDBC驱动,你必须单独下载对应版本的PostgreSQL驱动jar包,并放到Kafka Connect的插件目录里,否则Connect找不到连接PostgreSQL所需的驱动类,就会抛出No suitable driver found错误。
你的connect-standalone.properties里配置的plugin.path是C:/Users/me/Desktop/connectors/share/java/kafka-connect-jdbc,这个目录里应该只有JDBC连接器自身的jar文件,没有PostgreSQL的驱动包(比如postgresql-xx.x.x.jar),这是当前报错的直接原因。
附带的配置问题(需同步修正)
你的Sink配置文件connect-sink-postgres.properties中,connection.url写的是jdbc:postgresql://127.0.0.1:5432/postgres,但你实际用的数据库是kafkatest。这个问题不会直接引发当前的驱动错误,但等驱动问题解决后,会导致连接器连接到错误的数据库,找不到目标test表,所以需要修正为:
connection.url=jdbc:postgresql://127.0.0.1:5432/kafkatest
解决步骤
- 下载和你的PostgreSQL版本匹配的JDBC驱动jar包(版本尽量和数据库版本一致,比如
postgresql-42.7.3.jar) - 将下载的驱动jar包复制到
C:/Users/me/Desktop/connectors/share/java/kafka-connect-jdbc目录下 - 重启Kafka Connect独立服务,让新添加的驱动被加载
- 修正Sink配置中的
connection.url,确保指向正确的kafkatest数据库
内容的提问来源于stack exchange,提问作者Burhan Bilen
相关产品推荐
相关产品推荐

