我有一个位于这里的docker镜像 https://github.com/Landoop/fast-data-dev 拥有我用于开发的所有好东西。我尝试添加一个 JDBC 连接器以推送到 Kafka 主题,但是收到此错误。我已经在Java中创建了一个工作正常的消费者,但是我想使用KafkaConnect
Invalid value java.sql.SQLException: No suitable driver found for jdbc:sqlserver://servername for configuration Couldn't open connection to jdbc:sqlserver://servername
name=JdbcSourceConnector
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
connection.user=user
connection.password=password
tasks.max=1
connection.url=jdbc:sqlserver://servername
topic.prefix=test
table.whitelist=dbo.IB_WEBLOG_DUMMY_small
query=SELECT * FROM IB_WEBLOG_DUMMY_small
value.converter=org.apache.kafka.connect.json.JsonConverter
key.converter=org.apache.kafka.connect.json.JsonConverter
poll.interval.ms=5000
table.poll.interval.ms=120000
mode=bulk
我应该研究什么来解决这个问题?
JDBC 驱动程序的 JAR 文件不在 Kafka Connect 的类路径中。把它放在那里,你就可以开始了:
一种选择是在连接器旁边安装 JDBC 驱动程序 jar。打包的连接器安装在相对于安装目录的
share/java/kafka-connect-jdbc
目录中。如果您从 Debian 或 RPM 软件包安装,连接器将安装在/usr/share/java/kafka-connect-jdbc
中。如果您从 zip 或 tar 文件安装,连接器将安装在上面您解压缩 Confluent 平台存档的目录下的路径中。或者,您可以在运行独立连接或分布式连接之前设置 CLASSPATH 变量。例如:
$ CLASSPATH=/usr/local/firebird/* ./bin/connect-distributed ./config/connect-distributed.properties
或者,将所有 SQL Server JDBC JAR 文件放在 Apache Kafka 根文件夹下的libs
目录中。但这会污染类路径,最好在生产中避免。