如何将Rest API源连接器与Kafka Connect集成?

时间:2018-11-23 09:22:05

标签: apache-kafka apache-kafka-connect

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

上获得

我已从github下载此连接器,并卡在这里。

有人可以告诉我将该连接器与融合融合在一起的过程吗,或者我该如何使用它从Rest API中提取数据?

1 个答案:

答案 0 :(得分:0)

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

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


1)克隆存储库并进行构建(首先安装Git和Maven)

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

2)类似于Confluent Platform的其他连接器,在所有Connect worker上为其创建目录

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)将每个文件复制到第2步中为每个Connect worker创建的$CONFLUENT_HOME/share/java/kafka-connect-rest文件夹中

5)确保plugin.path文件中的connect-*.properties指向$CONFLUENT_HOME/share/java的完整路径

至此,您已经完成了all the steps that are listed in the README to build the thing and setup the plugin path,只是在Docker中还没有完成。

6)开始连接(分布式)

7)按下GET /connector-plugins以验证已装载的东西。

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

我以前没有使用过此连接器,所以我不知道如何配置它。也许在KSQL内容之前看到examples或跟随@rmoff's blog post