我正在尝试使用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驱动程序自动设置的最新示例,请参阅此示例。