Миграция Kafka на KRaft
Обзор
По умолчанию в ADCM в кластере ADS для сервиса Kafka управление метаданными осуществляется при помощи сервиса ZooKeeper, который обеспечивает работу кворума, основанную на алгоритме консенсуса ZAB.
Также сервис Kafka может быть установлен сразу в режиме KRaft для использования алгоритма консенсуса Raft.
Для кластеров, в которых сервис Kafka уже используется вместе с ZooKeeper, может быть выполнена миграция в режим KRaft.
ВНИМАНИЕ
|
Процесс миграции является полуавтоматическим и включает в себя следующие этапы:
Включение и выключение режима миграции выполняется при помощи действий сервиса Kafka в интерфейсе ADCM, момент запуска каждого их них определяется пользователем.
Подготовка к миграции
Определение состояния кластера
Перед включением миграции на странице конфигурирования сервиса Kafka проверьте состояние параметров Kafka quorum solution и KRaft migration mode.

Ниже описаны указания для действий при различных значениях параметров.
Kafka quorum solution | KRaft migration mode | Указания для действий |
---|---|---|
KRaft |
false |
Кластер уже находится в режиме кворума KRaft. Никаких дополнительных действий не требуется |
ZooKeeper |
false |
Кластер находится в режиме кворума ZooKeeper. Для кластера допускается включение режима миграции в KRaft. Перед включением режима миграции установите компонент Kafka Controller |
ZooKeeper |
true |
Режим миграции уже запущен. Выполните проверку миграции данных и переходите к выключению режима миграции |
Установка контроллеров Kafka
Для перехода на режим KRaft в кластере для сервиса Kafka должен быть установлен новый компонент — Kafka Controller. Рекомендуемое количество экземпляров компонента Kafka Controller на кластер — 3.
Для добавления экземпляров нового компонента сервиса Kafka в интерфейсе ADCM запустите действие Add/Remove components, нажав на иконку
в столбце Actions.

Далее в форме подтверждения действия выберите значения параметров и хосты для установки экземпляров нового компонента.

После успешного выполнения действия новый компонент отображается на странице конфигурирования компонентов сервиса.

Включение режима миграции
Для запуска режима миграции должны быть соблюдены следующие условия:
-
Состояние параметров сервиса Kafka:
-
Kafka quorum solution — в значении
ZooKeeper
; -
KRaft migration mode — в значении
false
.
-
-
В сервисе Kafka установлен компонент Kafka Controller, как описано выше.
Для запуска режима миграции в интерфейсе ADCM запустите действие KRaft migration stage 1 для сервиса Kafka, нажав на иконку
в столбце Actions.

Процесс включения режима миграции автоматически запускает:
-
настройку контроллеров Kafka для включения и выполнения миграции метаданных из ZooKeeper;
-
настройку брокеров Kafka для включения режима миграции, а также взаимодействия с кворумом KRaft (при этом брокеры все еще остаются настроены для работы с ZooKeeper);
-
перезапуск брокеров Kafka;
-
миграцию метаданных кластера из ZooKeeper в контроллер Kafka.
ВНИМАНИЕ
|
Ниже приведено состояние параметров после успешного включения режима миграции:
-
Kafka quorum solution — в значении
ZooKeeper
; -
KRaft migration mode — в значении
true
.
Проверка миграции данных
В логе контроллера Kafka в течение миграции метаданных появляются соответствующие сообщения.
Все сообщения можно просмотреть, обратившись к файлу /var/log/kafka-controller/server.log на хосте, где размещен компонент Kafka Controller.
Миграция данных является законченной, когда в логе появляется запись:
Completed migration of metadata from ZooKeeper to KRaft.
Только в случае появления данного сообщения допускается переходить к выключению режима миграции.
Выключение режима миграции и установка режима KRaft для Kafka
Для выключения режима миграции должно быть соблюдены следующие условия:
-
Состояние параметров сервиса Kafka:
-
Kafka quorum solution — в значении
ZooKeeper
; -
KRaft migration mode — в значении
true
.
-
-
Лог контроллера Kafka содержит запись о завершении миграции данных из ZooKeeper в KRaft, как описано выше.
Для выключения режима миграции в интерфейсе ADCM запустите действие KRaft migration stage 2 для сервиса Kafka, нажав на иконку
в столбце Actions.

Процесс выключения режима миграции автоматически запускает:
-
настройку контроллеров Kafka для удаления всех свойств, связанных с ZooKeeper, и завершения миграции;
-
настройку брокеров Kafka для указания напрямую на кворум KRaft вместо кворума ZooKeeper, удаления всех свойств, связанных с ZooKeeper, и завершения миграции;
-
перезапуск брокеров и контроллеров Kafka.
Ниже приведено состояние параметров после успешного выключения режима миграции:
-
Kafka quorum solution — в значении
KRaft
; -
KRaft migration mode — в значении
false
.