Не удается запустить Confluent Kafka Connect в Windows (NoClassDefFoundError: io / confluent / connect / storage / StorageSinkConnectorConfig) - PullRequest
0 голосов
/ 04 сентября 2018

Как видно из заголовка, я получаю 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, но кто-нибудь знает решение этой проблемы? Спасибо!

1 Ответ

0 голосов
/ 07 сентября 2018

Отвечая на мой вопрос:

Судя по всему, 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 из /confluent-5.0.0/bin/windows папки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...