windows - 无法在 Windows 上启动 Confluent Kafka Connect (NoClassDefFoundError: io/confluent/connect/storage/StorageSinkConnectorConfig)
问题描述
正如标题所说,我NoClassDefFoundError: io/confluent/connect/storage/StorageSinkConnectorConfig
从命令行启动 ElasticSearch 接收器连接器时得到了。
confluent-oss-5.0.0-2.11.zip
我通过将文件解压缩到C:\
. 当我执行以下命令(或相对路径的任意组合)时,Zookeeper、Kafka 代理和 ElasticSearch 已启动并运行:
> C:\confluent-5.0.0\bin\windows\connect-standalone.bat C:\confluent-5.0.0\etc\kafka\connect-standalone.properties C:\confluent-5.0.0\etc\kafka-connect-elasticsearch\quickstart-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/
root ( /
)C:
并启动connect-standalone.bat
from/confluent-5.0.0/bin/windows
文件夹。
推荐阅读
- python - python:尝试在循环中添加另一个“定时”打印函数,但没有取得很大成功:D
- typescript - TypeScript 中是否有带有一些可选参数的构造函数的简写语法?
- c# - 尝试将 DataTable 导出为 CSV 时,按钮 onClick 事件中的 ERR_HTTP2_PROTOCOL_ERROR
- docker - Docker 的 Ubuntu 拆分隧道
- java - minHeap 作为二叉树
- python - 在 __init__.py 中导入其他 python 包
- flutter - 如何修复这个 Flutter 错误:超类 'Bloc
' 没有零参数构造函数 - typescript - 使用 Material-ui 和 react-router-dom withStyles withRouter 访问 props.classes 的打字稿错误
- azure - 在数据工厂中,Azure 事件触发器是否会等到完整文件被复制?
- react-native - React Native:如何检查我们是否在平面列表的末尾?