首页 > 解决方案 > 如何将 JDBC 驱动程序添加到 DC/OS 上的 Kafka Connect?

问题描述

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

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

标签: dockerapache-kafkamesosapache-kafka-connectdcos

解决方案


更新

从这里借来的脚本(感谢@rmoff)

这是一个使用 bash 脚本覆盖 DockerCMD以下载和提取 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'

您需要构建自己的 Docker 镜像并将它们发布到 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 文件的其他连接器


推荐阅读