将Kafka Connect与jcustenborder/Kafka Connect twitter结合使用



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

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 connection中可用的jar。

当我跑步时connect-standalone.sh connect-avro-docker.properties这两个.properties所在的目录中的TwitterSourceConnector.properties,由于connect-standarone.sh在路径中,我得到错误:

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所在的罐子。我使用的是Kafka 2.13-2.8.0和0.3.34 jcustenborder Kafka connect twitter。

在Kafka发行版中,我看不到AvroConverter可能在哪里。它包括Kafka Connect吗?请注意,我使用的是在iMac中安装Kafka,而不是使用Docker来运行Kafka。

编辑:我没有使用avro属性文件,而是使用connect-standalone.properties。虽然日志显示它已经加载了番石榴jar:

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)

我明白错误错误由于错误而停止(org.apache.kafka.connect.cli.ConnectStandalone:126(java.lang.NoClassDefFoundError:com/google/common/collect/Multimap

我正在使用openjdk 17。

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

最新更新