Я пытался передать свои MySql
дБ изменения в kafka topi c через source-connector
, и это работает. Теперь я хочу отправить эти данные в поисковый экземпляр elasti c.
Для этого я следил за этим Kafka Connect Elasticsearch: использование и индексация с Kafka Connect и за этим Kafka Connect и Elasticsearch .
Для CD C из mysql для kafka, я вижу изменения, которые я сделал в mysql, и читаю его, создавая соединитель источника, но когда я создаю другой соединитель elasticsearch-sink
, source-connectr
task.state показано Failed
! И, следовательно, изменения в базе данных не идут в ES, хотя индекс создается там как настройка в файле es-config.properties.
Я поместил jar / s в kafka-dir, где работала библиотека lib для соединителя источника (для избежать дальнейшей проблемы, связанной с проблемой classpath).
При создании elaticsearch-sink-connector
я получаю эту ошибку (хотя для soure у меня нет ошибки, и все библиотеки находятся в одном каталоге!):
ОШИБКА Загрузчик класса подключаемого модуля для соединителя: «io.confluent.connect.elasticsearch.ElasticsearchSinkConnector» не найден. Возврат: org. apache .kafka.connect.runtime.isolation. DelegatingClassLoader@5cc126dc (org. apache .kafka.connect.runtime.isolation.DelegatingClassLoader: 165)
Я работаю мой соединитель следующим образом:
bin/connect-standalone.sh config/connect-standalone.properties config/elasticsearch-connect.properties
Вкратце, только один из моих коннекторов task.state остается RUNNING
одновременно
Редактировать:
plugin.path
для подключения-standablone Файл .properties:
plugin.path=/media/***/projects/playground/kafka/kafka_2.12-2.4.0, /media/***/projects/playground/kafka/kafka-connect-elasticsearch/target/kafka-connect-elasticsearch-3.2.0-SNAPSHOT-package/share/java
они оба содержат jar коннектора es. Последний добавлен позже, но все тот же
Что мне теперь делать?