apache-kafka - 如何将 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 中提取数据?
解决方案
免责声明:添加外部 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.path
的connect-*.properties
文件指向完整路径$CONFLUENT_HOME/share/java
至此,您已经完成了 README 中列出的所有步骤来构建事物并设置插件路径,而不是在 Docker 中。
6)开始连接(分布式)
7)点击GET /connector-plugins
以验证加载的东西。
8) 配置 JSON 有效载荷并将其发送到POST /connectors
我之前没有使用过这个连接器,所以我不知道如何配置它。也许在 KSQL 内容之前查看示例或关注@rmoff 的博客文章
推荐阅读
- r - R2OpenBugs 错误消息:预期集合运算符 c 错误 pos 2174
- error-handling - 如何仅向特定用户显示特定 Sentry 警报?
- command-line-interface - 在 linux 中从命令行运行 vlc 时,有没有办法将音乐启动到媒体库中的随机条目?
- azure - 在服务器之间移动 Azure Synapse DB
- swift - 在 Swift 中将字符 ASCII 值作为整数获取
- c# - 在 OPC DA 服务器关闭事件期间调用数据更改事件以写入错误插件
- android - 有没有办法在 Android 的键盘后面滚动?
- postgresql - time.sleep() 在 plpythonu 中有 60 秒的限制?
- javascript - 购物车和来电显示/类别
- java - Android AGP 4.2.0 + Java 11 编译失败