首页 > 解决方案 > 如何将 Rest API 源连接器与 Kafka Connect 集成?

问题描述

我的本地机器上有 Confluent 5.0,并尝试使用不属于 Confluent 的 Rest API Source Connect 从 Rest API 读取数据。到目前为止,我只使用了融合的内置连接器。Rest API 源连接是开源的,可在 github https://github.com/llofberg/kafka-connect-rest

我已经从 github 下载了这个连接器并卡在这里。

谁能告诉我将这个连接器与 confluent 集成的过程,或者我如何使用它从 Rest API 中提取数据?

标签: apache-kafkaapache-kafka-connect

解决方案


免责声明:添加外部 Kafka Connect 插件没有单一的答案;Confluent 提供了 Kafka Connect Maven 插件,但这并不意味着人们使用它甚至 Maven 来打包他们的代码。

如果它不在 Confluent Hub 上,那么您必须手动构建它。


1) 克隆 repo,并构建它(首先安装 Git 和 Maven)

git clone https://github.com/llofberg/kafka-connect-rest && cd kafka-connect-rest
mvn clean package

2)在所有Connect worker上为其创建一个目录,类似于Confluent Platform的其他Connector

mkdir $CONFLUENT_HOME/share/java/kafka-connect-rest

3)找到每一个有阴影的JAR(这个连接器恰好做了多个JAR,我不知道为什么......)

find . -iname "*shaded.jar" -type f

./kafka-connect-transform-from-json/kafka-connect-transform-from-json-plugin/target/kafka-connect-transform-from-json-plugin-1.0-SNAPSHOT-shaded.jar
./kafka-connect-transform-add-headers/target/kafka-connect-transform-add-headers-1.0-SNAPSHOT-shaded.jar
./kafka-connect-transform-velocity-eval/target/kafka-connect-transform-velocity-eval-1.0-SNAPSHOT-shaded.jar
./kafka-connect-rest-plugin/target/kafka-connect-rest-plugin-1.0-SNAPSHOT-shaded.jar

4) 将这些文件中的每一个复制到$CONFLUENT_HOME/share/java/kafka-connect-rest步骤 2 中为每个 Connect 工作人员创建的文件夹中

5)确保您plugin.pathconnect-*.properties文件指向完整路径$CONFLUENT_HOME/share/java

至此,您已经完成了 README 中列出的所有步骤来构建事物并设置插件路径,而不是在 Docker 中。

6)开始连接(分布式)

7)点击GET /connector-plugins以验证加载的东西。

8) 配置 JSON 有效载荷并将其发送到POST /connectors

我之前没有使用过这个连接器,所以我不知道如何配置它。也许在 KSQL 内容之前查看示例或关注@rmoff 的博客文章


推荐阅读