首页 > 解决方案 > 无法使用 Landoop/Fast-data-dev 创建 twitterSourceConnector。创建按钮被禁用

问题描述

我尝试twitterSourceConnector通过 Landoop UI 创建,但创建按钮被禁用。

我尝试修改属性但仍然没有运气。没有无效的语法或任何其他错误。

这是我的属性:

name=twitter-source
connector.class=com.eneco.trading.kafka.connect.twitter.TwitterSourceConnector
tasks.max=1
topic=twitter-source-demo
key.converter=org.apache.kafka.connect.json.JsonConverter
key.converter.schemas.enable=true
value.converter=org.apache.kafka.connect.json.JsonConverter
value.converter.schemas.enable=true

twitter.consumerkey=***
twitter.consumersecret=***
twitter.token=***
twitter.secret=***
track.terms=programming,java,kafka,pyspark,python
language=en

标签: twitterapache-kafkaapache-kafka-connectconnector

解决方案


我一直在学习 Stéphane Maarek 的 Apache Kafka 系列 - Kafka Connect 动手学习课程,其中需要使用 Landoop UI 设置 kafka connect。
在尝试使用 Landoop UI 创建 twitter 源连接器时,我猜有一个错误不允许提交属性,因为该按钮始终被禁用。
但在球场上,Stéphane Maarek 并没有面临这个问题。因此,我尝试提取最旧的图像,即 lensio/fast-data-dev:2.0.1
,希望 UI 问题不存在。
但是UI问题仍然存在。所以接下来我做的是检查问题是否存在于 Twitter 接收器设置中。那里似乎工作正常。所以我检查了浏览器,发现了用于设置 twitter 接收器的 API 调用。我更新了相同的指向 twitter 源连接器并最终得到以下 curl 命令,

curl 'http://192.168.99.100:30044/api/kafka-connect/connectors' \
  -H 'Connection: keep-alive' \
  -H 'Accept: application/json' \
  -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36' \
  -H 'Content-Type: application/json' \
  -H 'Origin: http://192.168.99.100:30044' \
  -H 'Referer: http://192.168.99.100:30044/kafka-connect-ui/' \
  -H 'Accept-Language: en-GB,en-US;q=0.9,en;q=0.8' \
  --data-raw '{"name":"TwitterSourceConnector","config":{"connector.class":"com.eneco.trading.kafka.connect.twitter.TwitterSourceConnector","topics":"demo-3-twitter","tasks.max":"1","twitter.consumerkey":"dummy key","twitter.consumersecret":"dummy secret","twitter.token":"dummy token","twitter.secret":"dummy secret","track.terms": "programming,java,kafka,scala","language": "en",
"key.converter": "org.apache.kafka.connect.json.JsonConverter",
      "key.converter.schemas.enable": "true",
    "value.converter": "org.apache.kafka.connect.json.JsonConverter",
    "value.converter.schemas.enable": "true"
 }}' \
  --compressed \
  --insecure

现在它起作用了。连接器显示在 Landoop UI 上。 Twitter 源连接器 请注意,上述 curl 命令将仅使用 lensio/fast-data-dev:2.0.1 图像成功启动连接器。它不适用于最新图像。


推荐阅读