首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Kafka Connect with jcustenborder / kafka-connect-twitter

使用Kafka Connect with jcustenborder / kafka-connect-twitter
EN

Stack Overflow用户
提问于 2021-11-12 17:31:11
回答 1查看 116关注 0票数 0

我正在尝试使用Kafka Connect和kafka-connect-twitter在Github的jcustenborder中将Twitter推文引入Kafka。说明书上写着:

代码语言:javascript
运行
复制
mvn clean package
export CLASSPATH="$(find target/ -type f -name '*.jar'| grep '\-package' | tr '\n' ':')"
$CONFLUENT_HOME/bin/connect-standalone connect/connect-avro-docker.properties config/TwitterSourceConnector.properties

导出CLASSPATH行实际上不起作用,并且在运行时不返回任何内容。connect avro docker属性文件在kafka-connect-twitter存储库中运行mvn clean包后,似乎希望使用target/kafka-connect-target/usr/share/kafka-connect中提供的jars。

当我在这两个.properties所在的目录中运行connect-standalone.sh connect-avro-docker.properties TwitterSourceConnector.properties时,因为connect-standalone.sh在路径中,所以我得到错误:

代码语言:javascript
运行
复制
2021-11-12 18:22:05,267] ERROR Stopping due to error (org.apache.kafka.connect.cli.ConnectStandalone:126)
org.apache.kafka.common.config.ConfigException: Invalid value io.confluent.connect.avro.AvroConverter for configuration key.converter: Class io.confluent.connect.avro.AvroConverter could not be found.
    at org.apache.kafka.common.config.ConfigDef.parseType(ConfigDef.java:744)
    at org.apache.kafka.common.config.ConfigDef.parseValue(ConfigDef.java:490)
    at org.apache.kafka.common.config.ConfigDef.parse(ConfigDef.java:483)
    at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:108)
    at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:129)
    at org.apache.kafka.connect.runtime.WorkerConfig.<init>(WorkerConfig.java:452)
    at org.apache.kafka.connect.runtime.standalone.StandaloneConfig.<init>(StandaloneConfig.java:42)
    at org.apache.kafka.connect.cli.ConnectStandalone.main(ConnectStandalone.java:80)

它找不到AvroConverter所在的jar。我使用的是Kafka 2.13-2.8.0和0.3.34 jcustenborder kafka-connect-twitter。

在Kafka发行版中,我看不到AvroConverter可能所在的任何地方。包含Kafka连接吗?请注意,我在iMac中使用的是Kafka的安装,而不是运行Kafka的Docker。

编辑:我没有使用avro属性文件,而是使用connect-standalone.properties。尽管日志显示它已经加载了芭乐罐子:

代码语言:javascript
运行
复制
INFO Loading plugin from: /Users/paupaches/dev/books/kafkabeginnerscourse/kafka-connect/connectors/kafka-connectors-twitter/guava-30.1.1-jre.jar (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:246)
[2021-11-13 10:50:22,992] INFO Registered loader: PluginClassLoader{pluginLocation=file:/Users/paupaches/dev/books/kafkabeginnerscourse/kafka-connect/connectors/kafka-connectors-twitter/guava-30.1.1-jre.jar} (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:269)

我收到错误error Stopping to (org.apache.kafka.connect.cli.ConnectStandalone:126) java.lang.NoClassDefFoundError: com/google/common/collect/Multimap

我使用的是openjdk 17。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-13 21:05:39

不需要导出CLASSPATH,在文件connect-standalone.properties的plugin.path属性中使用"connectors“路径就足够了。"connectors“目录包含kafka-connect-twitter目录,该目录包含在连接器工作副本中运行"mvn clean package”时生成的所有jars。最后,我使用了openjdk 8,尽管我的Mac上也安装了17。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69946876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档