将 Kafka Connect 与 jcustenborder / kafka-connect-twitter 结合使用
Use Kafka Connect with 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
export CLASSPATH 行实际上不起作用,returns 运行 时什么也没有。 connect avro docker 属性文件似乎想在 运行ning mvn clean package 中的 kafka-connect-twitter 存储库后使用 target/kafka-connect-target/usr/share/kafka-connect 中可用的 jar。
当我运行
connect-standalone.sh connect-avro-docker.properties TwitterSourceConnector.properties 在这两个 .properties 所在的目录中,因为 connect-standalone.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 来 运行ning Kafka。
编辑:
我没有使用 avro 属性文件,而是使用了 connect-standalone.properties。虽然日志说它已经加载了 guava 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属性中的“connectors”路径就足够了。
“连接器”目录包含 kafka-connect-twitter 目录,该目录包含连接器工作副本中 运行“mvn clean package”时生成的所有 jar。
最后我用的是openjdk 8,虽然17也安装在我的Mac.
我正在尝试将 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
export CLASSPATH 行实际上不起作用,returns 运行 时什么也没有。 connect avro docker 属性文件似乎想在 运行ning mvn clean package 中的 kafka-connect-twitter 存储库后使用 target/kafka-connect-target/usr/share/kafka-connect 中可用的 jar。
当我运行 connect-standalone.sh connect-avro-docker.properties TwitterSourceConnector.properties 在这两个 .properties 所在的目录中,因为 connect-standalone.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 来 运行ning Kafka。
编辑: 我没有使用 avro 属性文件,而是使用了 connect-standalone.properties。虽然日志说它已经加载了 guava 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属性中的“connectors”路径就足够了。 “连接器”目录包含 kafka-connect-twitter 目录,该目录包含连接器工作副本中 运行“mvn clean package”时生成的所有 jar。 最后我用的是openjdk 8,虽然17也安装在我的Mac.