Kafka Mysql CD C Elasti c поиск - PullRequest
       2

Kafka Mysql CD C Elasti c поиск

0 голосов
/ 19 февраля 2020

Я пытался передать свои 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. Последний добавлен позже, но все тот же

Что мне теперь делать?

1 Ответ

1 голос
/ 19 февраля 2020

Эта штука работает как шарм, когда я просто изменяю schema.enable на false

key.converter.schemas.enable=false
value.converter.schemas.enable=false

и добавляю дополнительные / после plugin.path, хотя без / это работало для источника-соединителя!

Редактировать: Я забыл упомянуть, что я заменил версию моего коннектора на версию 5.4.0, так как cricket_007 упомянул

Edit-2: I позже исследовал больше и обнаружил, что дополнительная проблема / наряду с новыми свойствами ключа, упомянутыми ниже, помогла мне избавиться от состояния FAILED разъемов (одновременно работал только один разъем):

internal.key.converter=org.apache.kafka.connect.json.JsonConverter
internal.value.converter=org.apache.kafka.connect.json.JsonConverter
internal.key.converter.schemas.enable=false
internal.value.converter.schemas.enable=false

в файле connect-standalone.properties

Спасибо

...