【问题标题】:How to add JDBC driver to Kafka Connect on DC/OS?如何将 JDBC 驱动程序添加到 DC/OS 上的 Kafka Connect?
【发布时间】:2019-04-14 16:05:00
【问题描述】:

使用 confluent 社区包在 DC/OS 上运行 Kafka Connect 4.1.1。我们如何上传或添加我们的 jdbc 驱动到远程集群?

更新:它是一个安装包的 DC/OS 目录,它是一个 mesos 框架,运行 docker 镜像。

【问题讨论】:

  • 我假设这些是正在运行的 Docker 容器?
  • 是的,通过 mesos 框架。更新的问题。我也询问了 DC/OS 社区。但什么都没有。

标签: docker apache-kafka mesos apache-kafka-connect dcos


【解决方案1】:

更新

从here (thanks to @rmoff)借来的脚本

这是一个使用 bash 脚本覆盖 Docker CMD 以下载和提取 REST API 源连接器的示例。

bash -c 'echo Installing unzip… && \
                curl -so unzip.deb http://ftp.br.debian.org/debian/pool/main/u/unzip/unzip_6.0-16+deb8u3_amd64.deb && \
                dpkg -i unzip.deb && \
                echo Downloading connector… && \
                curl -so kafka-connect-rest.zip https://storage.googleapis.com/rmoff-connectors/kafka-connect-rest.zip && \
                mkdir -p /u01/connectors/ && \
                unzip -j kafka-connect-rest.zip -d /u01/connectors/kafka-connect-rest && \
                echo Launching Connect… && \
                /etc/confluent/docker/run'

您需要build your own Docker images 并将它们发布到您的 Mesos 集群的可解析 Docker Registry,然后编辑 Mesos 服务以提取这些图像,而不是 Confluent 图像。

例如,在您的 Dockerfiles 中,您将拥有

ADD http://somepath.com/someJDBC-driver.jar /usr/share/java/kafka-connect-jdbc

或 curl 而不是 ADD,如 Confluent 文档中所示(因为它需要提取 .tar.gz 文件)。

FROM confluentinc/cp-kafka-connect

ENV MYSQL_DRIVER_VERSION 5.1.39

RUN curl -k -SL "https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-${MYSQL_DRIVER_VERSION}.tar.gz" \
    | tar -xzf - -C /usr/share/java/kafka-connect-jdbc/ --strip-components=1 mysql-connector-java-5.1.39/mysql-connector-java-${MYSQL_DRIVER_VERSION}-bin.jar

您还可以使用confluent-hub install 添加其他非 JDBC JAR 文件的连接器

【讨论】:

  • 是的,我想那么多。问题是我如何告诉 mesos 框架使用那个特定的 docker 镜像。我得四处挖掘。我现在会为你的答案投票。
  • 我猜是机器上的 docker 守护进程设置,但 DCOS 可能能够设置自定义 Docker 注册表,我不确定。否则,你可以直接推送到 DockerHub
  • 那就更复杂了。我需要重建框架。 1-我需要先找到它的源代码,哈哈。在最坏的情况下,我将使用马拉松和标准 docker 映像部署我自己的服务。
  • 不确定您所说的“重建”是什么意思,FROM confluentinc/cp-kafka-connect 应该没问题。否则,您只需下载 OSS Confluent 压缩包
  • 是的,大家都明白了,mesos 框架是一堆使用 DC/OS mesos SDK 的 YAML(最坏情况编译代码)文件:mesosphere.github.io/dcos-commons/developer-guide。因此,我必须下载该框架并查找 docker 映像并进行更改。从技术上讲,框架应该允许指定一个“卷”以允许它获取罐子。当我们不想使用一键安装时会发生这种情况哈哈
猜你喜欢
  • 2020-10-08
  • 1970-01-01
  • 2015-12-21
  • 2018-11-12
  • 1970-01-01
  • 1970-01-01
  • 2018-12-07
  • 2017-02-05
  • 2018-04-05
相关资源
最近更新 更多