Я избегаю Шторма здесь, потому что вопрос в основном о Kafka Connect
CAVEAT - в этом вопросе Solr Connector используется зависимость Kakfa 0.9.0.1, поэтому очень маловероятно, что он будет работать с новейшими API-интерфейсами Kafka.
Этот разъем не проверен мной. Следуйте на свой страх и риск
Ниже приводится выдержка из документации Confluent по использованию соединителей сообщества с некоторыми акцентами и адаптациями. Другими словами, написано для Kafka Connects, не входит в Confluent Platform
1) Клонируйте репозиторий GitHub для разъема
$ git clone https://github.com/MSurendra/kafka-connect-solr
2) Построить банку с мавеном
Перейдите во вновь клонированное хранилище и выберите нужную версию. ( Этот разъем Solr не имеет выпусков, подобных Confluent ).
Как правило, вы хотите оформить выпущенную версию.
$ cd kafka-connect-solr; mvn package
Здесь см. Установка плагинов
3) Найдите Uber JAR или каталог плагинов для соединителя
Мы копируем полученный вывод Maven из каталога target
в один из каталогов в пути к подключаемому модулю рабочего Kafka Connect (свойство plugin.path
).
Например, если путь к плагину включает каталог /usr/local/share/kafka/plugins
, мы можем использовать один из следующих методов, чтобы сделать соединитель доступным в качестве плагина.
Как упомянуто в Confluent docs , опция export CLASSPATH=<some path>/kafka-connect-solr-1.0.jar
будет работать, хотя plugin.path
будет способом продвижения вперед (Kafka 1.0 +)
Вы должны знать, какую опцию использовать, основываясь на результате mvn package
Вариант 1) Один файл UAR JAR
С помощью этого Solr Connector мы получаем один файл с именем kafka-connect-solr-1.0.jar
.
Мы копируем этот файл в каталог /usr/local/share/kafka/plugins
:
$ cp target/kafka-connect-solr-1.0.jar /usr/local/share/kafka/plugins/
Вариант 2) Каталог зависимостей
(Это не относится к разъему Solr)
Если JAR-файлы коннектора собраны в подкаталоге целевых каталогов сборки, мы можем скопировать все эти JAR-файлы в каталог плагинов в /usr/local/share/kafka/plugins
, например
$ mkdir -p /usr/local/share/kafka/plugins/kafka-connect-solr
$ cp target/kafka-connect-solr-1.0.0/share/java/kafka-connect-solr/* /usr/local/share/kafka/plugins/kafka-connect-solr/
Примечание
Обязательно установите плагин на всех компьютеров, на которых вы используете распределенные рабочие процессы Kafka Connect. Важно, чтобы каждый используемый вами соединитель был доступен на всех рабочих, поскольку Kafka Connect будет распределять задачи по соединителям среди всех рабочих
4) Запуск Kafka Connect
Если вы правильно установили plugin.path
или export CLASSPATH
, то вы можете использовать connect-standalone
или connect-distributed
с соответствующим файлом конфигурации для этого проекта Connect.
Относительно
нам потребуется некоторая очистка данных перед отправкой в Solr
Это необходимо сделать с помощью отдельного процесса, такого как Kafka Streams, Storm или другого процесса, до Kafka Connect. Напишите свой преобразованный вывод во вторичную тему. Или напишите свой собственный процесс Kafka Connect Transform. Kafka Connect имеет очень ограниченные преобразования из коробки.
Также стоит упомянуть - JSON является единственным поддерживаемым форматом сообщений Kafka для этого соединителя Solr