Как видно из заголовка, я получаю NoClassDefFoundError: io/confluent/connect/storage/StorageSinkConnectorConfig
при запуске коннектора приемника ElasticSearch из командной строки.
Я установил пакет Confluent, разархивировав файл confluent-oss-5.0.0-2.11.zip
в C:\
.
Zookeeper, Kafka broker и 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.
Я знаю, что Windows не полностью поддерживается для Confluent, но кто-нибудь знает решение этой проблемы? Спасибо!