НЕ ПРОШЛО | java.lang.NoClassDefFoundError: org / elasticsearch / action / DocWriteRequest

следуя этому документу kafka-connect-elasticsearch
https://github.com/confluentinc/demo-scene/tree/master/kafka-to-elasticsearch README.md файл возникла следующая ошибка при создании коннектора приемника в ksql
с использованием docker.elastic.co/elasticsearch/elasticsearch:7.12.0
столкнулся с аналогичной проблемой и при использовании версии 7.11.0

   ksql> describe connector SINK_ELASTIC_TEST_01;
   
   Name                 : SINK_ELASTIC_TEST_01
   Class                : io.confluent.connect.elasticsearch.ElasticsearchSinkConnector
   Type                 : sink
   State                : RUNNING
   WorkerId             : kafkaconnect:8083
   
    Task ID | State  | Error Trace
   ---------------------------------------------------------------------------------------------------------------------------
    0       | FAILED | java.lang.NoClassDefFoundError: org/elasticsearch/action/DocWriteRequest
           at io.confluent.connect.elasticsearch.ElasticsearchSinkTask.start(ElasticsearchSinkTask.java:56)
           at io.confluent.connect.elasticsearch.ElasticsearchSinkTask.start(ElasticsearchSinkTask.java:48)
           at org.apache.kafka.connect.runtime.WorkerSinkTask.initializeAndStart(WorkerSinkTask.java:308)
           at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:196)
           at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:189)
           at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:238)
           at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
           at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
           at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
           at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
           at java.base/java.lang.Thread.run(Thread.java:834)
   Caused by: java.lang.ClassNotFoundException: org.elasticsearch.action.DocWriteRequest
           at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
           at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
           at org.apache.kafka.connect.runtime.isolation.PluginClassLoader.loadClass(PluginClassLoader.java:104)
           at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
           ... 11 more  

кто-нибудь может подсказать, что здесь не так

Ошибка находится в пути к классам соединителя, а не в контейнере Elasticsearch, так какую версию вы используете?

OneCricketeer 06.04.2021 22:36

Я тестировал версию kafka-connect-elasticsearch-11.0.3, я поместил эту банку в путь / usr / share / java / Kafka в контейнере подключения Kafka.

Abhishek D K 06.04.2021 22:51

Когда я делаю запрос на получение в kafkaconnect для подключаемых модулей коннектора, он отображает класс ElasticsearchSinkConnector, что означает, что jar размещен правильно.

Abhishek D K 06.04.2021 22:54

Вам нужно больше, чем одна банка. Опять же, я не думаю, что вы следуете руководству в точности так, как написано ... Почему бы не использовать установку с конфлюент-хабом (как это делает гид)?

OneCricketeer 06.04.2021 22:55
0
4
18
0

Другие вопросы по теме