Kafka-Connect for MSSQL 无效值 java.sql.SQLException:找不到适合配置的驱动



我正在尝试使用localhost:3030将 kafka-connect 连接到我的本地 mssql 当我尝试为 mssql 建立新连接时,我收到此错误。在 CentOS 7(Linux( 中。Mssql 数据来自外部 IP(Windows(,我的消费者在 Linux 环境中。

"找不到适合配置的驱动程序"。

connect-distributed.properties如下所示;

plugin.path=/usr/local/share/java,/usr/local/share/kafka/plugins,/opt/connectors,

我在/opt/connectors/kafka-connect-jdbc/下添加了"ojdbc7-12.1.0.2.jar"文件,但仍然收到错误消息。我不知道出了什么问题。

还有我的连接控制台源属性

name=source-sqlserver-user
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
tasks.max=1
topic.prefix=my-timestamp
connection.url=jdbc:sqlserver://externalIP;database=database;username=username;password=password
version: '2'
services:
kafka-cluster:
image: landoop/fast-data-dev:cp3.3.0
environment:
ADV_HOST: 127.0.0.1          
RUNTESTS: 0                 
ports:
- 2181:2181                 # Zookeeper
- 3030:3030                 # Landoop UI
- 8081-8083:8081-8083       # REST Proxy, Schema Registry, Kafka Connect ports
- 9581-9585:9581-9585       # JMX Ports
- 9092:9092                 # Kafka Broker

ojdbc7-12.1.0.2.jar是Oracle的JDBC驱动程序。

对于MS SQL,您需要MS SQL JDBC 驱动程序


编辑:由于您使用Docker运行Kafka Connect,因此您需要在运行之前使JDBC JAR文件可供Kafka Connect工作线程使用。您不能只运行 Docker 容器并将 JDBC 驱动程序复制到其中,因为之后需要重新启动 Kafka Connect。

若要解决此问题,可以将 JAR 从本地计算机挂载到容器中的相关路径。相关路径是 Kafka Connect JDBC jar 所在的位置。查看它所在的fast-data-dev图像

root@fast-data-dev / $ ls -l /opt/confluent-3.3.0/share/java/kafka-connect-jdbc
total 6544
-rw-r--r-- 1 root root  133842 Jul 28  2017 kafka-connect-jdbc-3.3.0.jar
-rw-r--r-- 1 root root  658466 Jul 28  2017 postgresql-9.4-1206-jdbc41.jar
-rw-r--r-- 1 root root 5575351 Jul 28  2017 sqlite-jdbc-3.8.11.2.jar

所以你可以跑

docker run --rm --net=host --volume ~/Downloads/mssql-jdbc-7.4.1.jre8.jar:/opt/confluent-3.3.0/share/java/kafka-connect-jdbc/mssql-jdbc-7.4.1.jre8.jar landoop/fast-data-dev:cp3.3.0

或将其挂载到您的 Docker Compose 中,并带有volumes配置:

version: '2'
services:
kafka-cluster:
image: landoop/fast-data-dev:cp3.3.0
environment:
ADV_HOST: 127.0.0.1
RUNTESTS: 0
ports:
- 2181:2181                 # Zookeeper
- 3030:3030                 # Landoop UI
- 8081-8083:8081-8083       # REST Proxy, Schema Registry, Kafka Connect ports
- 9581-9585:9581-9585       # JMX Ports
- 9092:9092                 # Kafka Broker
volumes:
- ~/Downloads/mssql-jdbc-7.4.1.jre8.jar:/opt/confluent-3.3.0/share/java/kafka-connect-jdbc/mssql-jdbc-7.4.1.jre8.jar

值得注意的是,Confluent平台3.3.0真的很旧 - 最新的是5.3.1。如果您想查看运行Kafka,Kafka Connect,SQL Server等与JDBC驱动程序自动设置的最新示例,请参阅此示例。

相关内容