Kafka Connect - можно ли использовать, если у меня нет прямого доступа к кластеру Kafka? - PullRequest
0 голосов
/ 18 июня 2020

Я новичок в Kafka Connect.

Сценарий: мы хотим экспортировать данные, хранящиеся в нескольких (правильное число> 400) тем в Kafka, и выгружать эти данные в Elasti c Search Index. Kafka нашей фирмы - это Confluent Kafka, и он керберизован. Я могу писать Producer и Consumers через API Kafka, поскольку мы знаем брокеров и у нас есть файл keytab.

Предлагалось использовать Kafka-Connect, но, поскольку это многопользовательский кластер, команда Ops, возможно, не сможет предоставить прямой доступ или даже запустить команды установки плагина. У нас есть собственные управляемые виртуальные машины, на которых мы развертываем экземпляры наших приложений.

Вопрос - Можно ли запустить Kafka-Connect в распределенном режиме, установив подключаемые модули на наших виртуальных машинах вместо их установки на Confluent Kafka? Можем ли мы запустить коннектор без выполнения каких-либо команд в Confluent Kafka? Я готов разместить плагины коннектора kafka-connect на всех своих экземплярах виртуальной машины.

Обновление

Нам не разрешено делать запрос на размещение в кластере kafka-connect (для создания нового экземпляр коннектора), так можно ли по-прежнему использовать kafka-connect? Если да, то нужно ли нам запускать собственную Kafka и просто указать серверы bootstrap в качестве производственных кластеров kafka? Не могу найти ни одного видео / статьи об этом.

1 Ответ

1 голос
/ 18 июня 2020

Да, это возможно. Фактически, в производственном развертывании вы обычно не устанавливаете Kafka Connect непосредственно на брокере Kafka. Вы можете увидеть эталонную архитектуру здесь для получения дополнительной информации.

Kafka Connect работает как отдельный процесс для брокера Kafka, известный как Kafka Connect Worker . Каждый Worker - это процесс JVM, который вы развертываете и настраиваете с учетом деталей вашего кластера Kafka, к которому он подключается и действует как производитель / потребитель (в зависимости от того, создаете ли вы источник / приемник). Этот доклад объясняет некоторые основы среды выполнения.

Таким образом, вы предоставляете одну или несколько машин для запуска Kafka Connect, даете им одинаковый идентификатор группы, чтобы они образовали кластер ( рабочих Kafka Connect), они подключаются к вашему кластеру Kafka (точно так же, как любое приложение производителя / потребителя, отдельное от кластера), а на ваших рабочих Kafka Connect вы устанавливаете необходимые плагины.

Для загрузки данных в Elasticsearch у вас есть плагин Kafka Connect Elasticsearch , для которого есть руководство, которое вы можете посмотреть здесь .

...