当前位置: 首页 > 知识库问答 >
问题:

JDBC Kafka Connect with DB2

葛言
2023-03-14

我正在努力让Confluent的kafka连接器连接到DB2。

我正在 docker 中运行一个 ubuntu 实例来测试普鲁波斯。该解决方案需要部署到 kubernetes,所以 docker 就是这样。

我已经使用apt-get安装了ConFluent平台并添加了他们的repos。所有服务都在运行,kafka,zoo的,模式和kafkaRest。

我已经创建了我的kafka连接属性文件,如本文所述:https://www.progress.com/blogs/build-an-etl-pipeline-with-kafka-connect-via-jdbc-connectors

我假设这对 DB2 的工作方式相同。我在上面的教程中缺少的步骤是这个:java -jar PROGRESS_DATADIRECT_JDBC_POSTGRESQL_ALL.jar

我试着这样运行:java-jar /usr/share/java/kafka-connect-jdbc/db2jcc.jar

我得到这个错误:没有主清单属性,在 /usr/share/java/kafka-connect-jdbc/db2jcc.jar

我还是继续,但当然我得到一个错误:找不到适合 jdbc:datadirect:db2://db2-server:50000 的驱动程序;用户=db2admin;密码=pwd;数据库=test_db

这是我启动连接器的命令:/usr/bin/连接-独立 /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.Ex的异常:org.apache.kafka.connect.errors.连接异常:类com.ibm.db2.jcc.DB2Jcc没有实现连接器

任何帮助或建议将不胜感激。

共有1个答案

邵正雅
2023-03-14

我是你提到的教程的作者,我刚刚注意到这个线程,我看到你正在使用IBM提供的DB2驱动程序(db2cc.jar)和DataDirect IBM DB2连接字符串(jdbc:datadirect:db2://db2-server:50000;用户=db2admin;Password=pwd;Database=test_db),这就是为什么只要将连接字符串更改为 IBM 提供的驱动程序,您就可以正确连接的原因。

 类似资料:

相关问答

相关文章

相关阅读