kafka是否可以使用JDBC连接器interclient.jar和融合平台与Interbase连接

时间:2018-12-12 07:13:54

标签: jdbc apache-kafka apache-kafka-connect confluent interbase

kafka是否可以使用interclient.jar与interbase数据库连接。即使将其放在正确的文件夹中,我也无法在ubundu系统中进行连接。
这是我创建连接器的POST命令。

 curl -X POST -H "Content-Type: application/json"  --data "{ \"name\": \"ib_connector\",\"config\": { \"connector.class\": \"io.confluent.connect.jdbc.JdbcSourceConnector\", \"tasks.max\": 1,\"connection.url\": \"jdbc:interbase://remoteip:3050/TEST2.gdb?user=SYSDBA&password=masterkey\",\"mode\": \"timestamp+incrementing\", \"incrementing.column.name\": \"id\",\"timestamp.column.name\": \"modified\", \"topic.prefix\": \"test-interbase-\", \"poll.interval.ms\": 1000 } }" http://localhost:8083/connectors. 

我已将JDBC连接器interclient.jar文件放在/usr/share/java/kafka-connect-jdbc中。

docker-compose.yml中,插件路径设置为CONNECT_PLUGIN_PATH:'/usr/share/java,/etc/kafka-connect/jars'

我也有.env个文件,其中 KAFKA_CONNECT_JARS_PATH=/usr/share/java/kafka-connect-jdbc/CLASS_PATH=usr/share/java/kafka-connect-jdbc/

我收到的错误消息如下。

{"error_code":400,"message":"Connector configuration is invalid and contains the following 2 error(s):\nInvalid value java.sql.SQLException: No suitable driver found for jdbc:interbase://remoteip:3050/TEST2?user=SYSDBA&password=masterkey for configuration Couldn't open connection to jdbc:interbase://remoteip:3050/TEST2?user=SYSDBA&password=masterkey\nInvalid value java.sql.SQLException: No suitable driver found for jdbc:interbase://remoteip:3050/TEST2?user=SYSDBA&password=masterkey

1 个答案:

答案 0 :(得分:0)

如果您使用的是Docker,则将本地文件系统上的JAR放入/usr/share/java不会使Docker在没有卷映射的情况下使用它。为避免混淆,建议将主机文件移到其他位置。

KAFKA_CONNECT_JARS_PATH对Confluent Docker映像也没有任何意义。

在本地创建一些其他本地目录。将JDBC JAR放入其中,然后将一个卷添加到Compose文件中,以指向容器中的JDBC连接位置

volumes:
  - /path/to/your_folder:/usr/share/java/kafka-connect-jdbc/lib:ro

ls /path/to/your_folder显示您要使用的JDBC驱动程序,并且如果您安装了Java,则可以运行jar -tf /path/to/your_folder/example.jar来验证是否有一个JDBC Driver类正在尝试加载到该文件中。 。

当我尝试使用MSSQL JDBC驱动程序

时,该设置已经生效blog post