我在本地计算机上安装了Confluent 5.0,并尝试使用不属于confluent的Rest API Source Connect从Rest API读取数据。到现在为止,我仅使用融合的内置连接器。 Rest API源连接是开源的,可在github https://github.com/llofberg/kafka-connect-rest
上获得我已从github下载此连接器,并卡在这里。
有人可以告诉我将该连接器与融合融合在一起的过程吗,或者我该如何使用它从Rest API中提取数据?
答案 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