尝试使用 Docker 通过 jar 文件安装 Kafka Connect 连接器,安装出错

Trying to install a Kafka Connect connector via a jar file using Docker, installation gives errors

我正在使用 docker-compose 和 Dockerfile 来安装连接器。我已经成功地从 Confluent Hub 安装了连接器,但没有安装我自己的 jar 文件。

这是我所做的:

  1. 转到 https://search.maven.org/artifact/io.aiven/aiven-kafka-connect-gcs/0.7.0/jar 并在右上角按下“下载”并单击“jar”
  2. 将此文件放在与我的 Dockerfile 相同的文件夹中
  3. 运行 我的 Dockerfile:

ENV CONNECT_PLUGIN_PATH="/usr/share/java,/usr/share/confluent-hub-components"

USER root
COPY --chown=appuser:appuser aiven-kafka-connect-gcs-0.7.0.jar /usr/share/confluent-hub-components
USER appuser

RUN confluent-hub install --no-prompt aiven/kafka-connect-gcs:0.7.0

我还尝试了各种 confluent-hub install 命令,包括:

RUN confluent-hub install --no-prompt aiven-kafka-connect-gcs:0.7.0
RUN confluent-hub install --no-prompt confluent-hub-components/aiven-kafka-connect-gcs-0.7.0.jar
RUN confluent-hub install --no-prompt aiven-kafka-connect-gcs-0.7.0.jar

一切都无济于事。我确实尝试了 /etc/kafka-connect/jars 等其他目录,但我一直遇到同样的问题。

我做错了什么?句法?缺少额外的安装命令?还有别的吗?

confluent-hub 不“安装”本地 JAR 文件

默认情况下,它使用其参数对 Confluent Hub 网站进行 HTTP 查找并 return 相应的响应。如果它是一个有效的连接器,它将把它提取到插件路径,否则,你会得到一个错误

如果你给它一个本地 ZIP,就可以了

path to a local ZIP file that was downloaded from Confluent Hub

我是这样做的:

RUN wget -O /set/your/path/here/<connector name here>.tar https://url-of-connector-here/<connector name and version here>.tar
RUN tar -xvf /set/your/path/here/<connector name here>.tar --directory /path/to/connect/plugins/here/

成功了。