Как установить соединитель kafka-connect и размер кучи JVM задачи? - PullRequest
0 голосов
/ 31 мая 2018

Кафка коннект запускает новый коннектор и его задачи в процессе кафка коннект?или новый процесс JVM будет разветвлен.

Если он запускает плагин в процессе подключения kafka, то мне нужно установить размер кучи kafka connect JVM через KAFKA_CONNECT_JVM_HEAP_OPT (используя образ слияния докера).Тогда проблема в том, что если я запускаю много задач или много коннекторов, они будут совместно использовать кучу JVM, поэтому трудно определить размер кучи для kafka connect.

Если для каждого коннектора kafka connect запускает их вновый процесс JVM, как я могу установить для них размер кучи?

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

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

Каждый работник Connect всегда отображается на один экземпляр JVM.Запрос на запуск нового соединителя не приводит к появлению нового экземпляра JVM.Но рабочие Connect с тем же group.id образуют кластер рабочих Connect.Затем задачи соединителя распределяются между работниками в кластере Connect.

Размер кучи работника Connect можно легко задать с помощью:

export KAFKA_HEAP_OPTS="-Xms256M -Xmx2G" (в этом примере используются значения по умолчанию)

или, когда используется изображение докера, путем установки:

-e CONNECT_KAFKA_HEAP_OPTS="-Xms256M -Xmx2G" (опять же, в этом примере используются значения по умолчанию)

Подключение рабочих можно масштабировать по горизонтали.Добавление большего количества рабочих в кластер Connect добавляет память и вычислительные ресурсы для вашего развертывания.Если вам нужно применить более конкретный и ограниченный бюджет памяти к вашему развертыванию Connect, вы можете сгруппировать определенные соединители для каждого кластера Connect или даже в некоторых случаях развернуть один экземпляр соединителя на кластер Connect.

0 голосов
/ 31 мая 2018

Все задачи разделяют пространство памяти внутри хост-системы одного работника, независимо от того, является ли это контейнером, не имеет значения (кроме факта без флагов JVM для процесса внутри контейнера, это ограничено еще больше)

Вы«добавить память» в ваш кластер Connect, добавив больше работников.Вы предотвращаете ошибки OOM, увеличивая разделы тем, задачи Connector, уменьшая количество запросов / пакетов и уменьшая общий объем данных, которые должен прочитать каждый работник.

Переменная среды для параметров кучи Connect - KAFKA_HEAP_OPTS, иВы можете добавить больше флагов JVM от KAFKA_OPTS

...