无法在 Windows 上启动 Confluent Kafka Connect (NoClassDefFoundError: io/confluent/connect/storage/StorageS



正如标题所说,从命令行启动 ElasticSearch 接收器连接器时,我遇到了NoClassDefFoundError: io/confluent/connect/storage/StorageSinkConnectorConfig

我通过在C:中解压缩confluent-oss-5.0.0-2.11.zip文件来安装 Confluent 包。 当我执行以下命令(或相对路径的任意组合(时,Zookeeper,Kafka代理和ElasticSearch已启动并运行:

> C:confluent-5.0.0binwindowsconnect-standalone.bat C:confluent-5.0.0etckafkaconnect-standalone.properties C:confluent-5.0.0etckafka-connect-elasticsearchquickstart-elasticsearch.properties

这是我connect-standalone.properties文件:

bootstrap.servers=localhost:9092 
key.converter=org.apache.kafka.connect.json.JsonConverter     
value.converter=org.apache.kafka.connect.json.JsonConverter
key.converter.schemas.enable=true
value.converter.schemas.enable=true
offset.storage.file.filename=/tmp/connect.offsets
offset.flush.interval.ms=10000
plugin.path=/confluent-5.0.0/share/java/

还有我的quickstart-elasticsearch.properties文件:

name=elasticsearch-sink
connector.class=io.confluent.connect.elasticsearch.ElasticsearchSinkConnector
tasks.max=1
topics=test2
key.ignore=true
connection.url=http://localhost:9200
type.name=kafka-connect

我寻找类似的问题,但他们似乎对我认为正确设置plugin.path属性的相对/绝对路径有问题,因为如果我更改它,我会收到关于找不到 ElasticSearchSink 类的错误。

我知道Confluent不完全支持Windows,但是有谁知道这个问题的解决方案吗?谢谢!

回答我自己的问题:

显然,Kafka Connect 尝试启动所有插件,并在缺少依赖项时失败。因此,如果您不需要默认安装的插件(HDFS,S3...(,则可以从文件夹中删除confluent-5.0.0/share/java/文件夹。

我仍然收到NoClassDefFoundError异常,但它们与 ElasticSearch 连接器无关,所以我忽略了它们,当所有这些错误消息完成打印时,我可以看到 ES 连接器已启动,我可以看到索引中的数据。

关于plugin.path,我将完整的类UNIX路径设置为/confluent-5.0.0/share/java/,根(/(是C:,并从/confluent-5.0.0/bin/windows文件夹开始connect-standalone.bat

相关内容

  • 没有找到相关文章

最新更新