JDBC Kafka与DB2的连接
我正在努力让Confluent的kafka连接器连接到DB2 我正在docker内部运行一个ubuntu实例来测试pruposes。解决方案需要部署到kubernetes,docker就是这样 我已经使用apt get安装了Confluent平台,并添加了他们的回购协议。所有服务都在运行,kafka、zookeeper、schema和kafka rest 我已经创建了kafka connect属性文件,如本文所述: 我假设这对DB2也是一样的。我在上述教程中缺少的步骤是:JDBC Kafka与DB2的连接,jdbc,db2,apache-kafka-connect,confluent-platform,Jdbc,Db2,Apache Kafka Connect,Confluent Platform,我正在努力让Confluent的kafka连接器连接到DB2 我正在docker内部运行一个ubuntu实例来测试pruposes。解决方案需要部署到kubernetes,docker就是这样 我已经使用apt get安装了Confluent平台,并添加了他们的回购协议。所有服务都在运行,kafka、zookeeper、schema和kafka rest 我已经创建了kafka connect属性文件,如本文所述: 我假设这对DB2也是一样的。我在上述教程中缺少的步骤是: java-jarpro
java-jarprogress\u DATADIRECT\u JDBC\u POSTGRESQL\u ALL.jar
我试着这样运行它:
java-jar/usr/share/java/kafka-connect-jdbc/db2jcc.jar
我得到这个错误:
在/usr/share/java/kafka connect jdbc/db2jcc.jar中没有主清单属性
我还是继续,但我当然会出错:
没有找到适合jdbc的驱动程序:datadirect:db2://db2服务器:50000;User=db2admin;密码=pwd;数据库=测试数据库
这是我启动连接器的命令:
/usr/bin/connect standalone/etc/kafka/connect-standalone.properties/etc/kafka connect jdbc/db2.properties
这是我的属性文件:
name=test-db2-jdbc
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
tasks.max=1
connection.url=jdbc:datadirect:db2://db2-server:50000;User=db2admin;Password=pwd;Database=test_db
mode=timestamp+incrementing
incrementing.column.name=id
timestamp.column.name=modified_time
topic.prefix=test_jdbc_
table.whitelist=data_log
我相信我已经接近了。我只需要让DB2驱动程序在java中注册,或者让kafka connect获取它并能够使用它
我尝试了connector.class
的其他值,但是如果我将其更改为类的名称,就像在其他Java应用程序中一样,我会遇到以下错误:
java.util.concurrent.ExecutionException:org.apache.kafka.connect.errors.ConnectException:Class com.ibm.db2.jcc.DB2Jcc未实现连接器
任何帮助或建议都将不胜感激。我是您提到的教程的作者,我刚刚注意到这个线程,我看到您正在使用IBM提供的DB2驱动程序(
db2cc.jar
)和DataDirect IBM DB2连接字符串(jdbc:DataDirect:DB2://DB2服务器:50000;User=db2admin;Password=pwd;Database=test\u db
),这就是为什么只要将连接字符串更改为IBM提供的驱动程序,您就能够正确连接。您的问题表明您正在尝试为Db2使用datdirect驱动程序(而不是IBM提供的Db2驱动程序)。您是否在容器中安装了datadirect驱动程序,并证明它在Confluence/kafka之外工作?您好。不,我没有在confluence/Kafka之外尝试过。谢谢你的提示。我早该想到的!我对Java不太熟悉,但我看到我们确实在sqoop中使用了这些JAR文件,它们在sqoop中工作。还有什么我可以尝试的吗?请确保启动连接器时,db2jcc.jar
(以及相应的许可证jar)位于类路径中。非常感谢大家。我们用于sqoop工作的罐子起到了作用。它们的名字相同,但大小不同。显然,它们也是从IBM网站下载的。顺便说一句,ProgressDataDirect的东西根本不起作用。这是我连接器的最后一个db2.properties文件。注意正确的JDBC连接URL:name=test-db2-JDBC-connector.class=io.confluent.connect.JDBC.jdbsourceconnector-connection.URL=JDBC:db2://db2服务器:50000/test\u bpm:schema=schemaName;user=db2admin;password=pwd,然后是分号;