JDBC Kafka 连接 DB2

标签 jdbc db2 apache-kafka-connect confluent-platform

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

我正在 docker 中运行一个 ubuntu 实例来测试目的。解决方案需要部署到kubernetes上,所以就是docker。

我已经使用 apt-get 安装了 Confluence 平台并添加了它们的存储库。所有服务都在运行,kafka、zookeeper、schema 和 kafka 休息。

我已经按照本文所述创建了我的 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

我收到此错误: 没有主要 list 属性,位于/usr/share/java/kafka-connect-jdbc/db2jcc.jar

无论如何我都继续了,但是我当然得到了一个错误: 没有找到合适的驱动程序 jdbc:datadirect:db2://db2-server:50000;User=db2admin;Password=pwd;Database=test_db

这是我启动连接器的命令: /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:类 com.ibm.db2.jcc.DB2Jcc 未实现连接器

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

最佳答案

我是您提到的教程的作者,我刚刚注意到这个线程,我发现您正在使用 IBM 提供的 DB2 驱动程序(db2cc.jar) 和 DataDirect IBM DB2 连接字符串(jdbc:datadirect:db2://db2-server:50000;User=db2admin;Password=pwd;Database=test_db),这就是为什么一旦您将连接字符串更改为 IBM 提供的驱动程序,您能够正常连接。

关于JDBC Kafka 连接 DB2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50967466/

相关文章:

mysql - 将复选框的未选中值插入数据库

java - 从 SQL 数据库读取数据时遇到问题

apache-kafka - Kafka Connect或Kafka客户端

java - 使用 jdbc 和 oracle 驱动程序时存储结果集的位置

java - 甲骨文 JDBC : invalid username/password (ora-01017)

sql - 对连接字符串的计算字段求和(拆分 acct #s)

c# - 找不到远程主机 "."错误

sql - 使用函数进行查询比使用子选择进行相同查询花费的时间更长

apache-kafka - Kafka Connect - 如何删除连接器

elasticsearch - 尝试为 Elasticsearch Sink 配置 Debezium 镜像