Kafka Connect 不会选择自定义连接器

Kafka Connect won't pick up custom connector

我正在尝试在带有自定义连接器 (PROGRESS_DATADIRECT_JDBC_OE_ALL.jar) 的 docker 容器中使用 kafka connect 来连接到 openedge 数据库。

我已将 JAR 文件放在插件路径中 (usr/share/java),但它不会作为连接器加载。

COPY Openedge/PROGRESS_DATADIRECT_JDBC_OE_ALL.jar /usr/share/java/progress

我可以通过将另一个(标准)连接器放在插件路径中来加载它。这有效

COPY confluentinc-kafka-connect-jdbc-10.3.2 /usr/share/java/confluentinc-kafka-connect-jdbc-10.3.2

对如何前进有点迷茫,我对卡夫卡还很陌生。我的主要信息来源是 openedge to kafka streaming and How to use Kafka connect

JDBC 驱动程序不是 Connect 插件,它们本身也不是连接器。

您需要设置 JVM CLASSPATH 环境变量来检测 JDBC 驱动程序,就像任何 Java 进程一样。

链接站点上的说明建议您应将 JDBC 驱动程序复制到现有 Confluent JDBC 连接器的目录中。虽然您可以使用 Docker COPY 命令,但更好的方法是使用 confluent-hub install

@OneCricketeer 有解决方案。作为对我的复古并希望对其他人有所帮助,以下是我完成这项工作的步骤。 将 JDBC 连接器复制到 CONNECT_PLUGIN_PATH 并使用 confluent hub install 安装:

COPY confluentinc-kafka-connect-jdbc-10.3.2.zip /usr/share/java
RUN confluent-hub install --no-prompt /usr/share/java/confluentinc-kafka-connect-jdbc-10.3.2.zip

根据@OneCricketeer 的建议,将驱动程序(我最终使用 openedge.jar)复制到其他 jar 所在的路径(如 sqllite)。

COPY Openedge/openedge.jar /usr/share/confluent-hub-components/confluentinc-kafka-connect-jdbc/lib

通过启用 DEBUG as suggested by this page 来验证 最后添加一个 .properties 文件来创建连接器。在我的案例中,基于上面的“openedge to kafka streaming”link