Миграция Kafka на KRaft

Обзор

По умолчанию в ADCM в кластере ADS для сервиса Kafka управление метаданными осуществляется при помощи сервиса ZooKeeper, который обеспечивает работу кворума, основанную на алгоритме консенсуса ZAB.

Также сервис Kafka может быть установлен сразу в режиме KRaft для использования алгоритма консенсуса Raft.

Для кластеров, в которых сервис Kafka уже используется вместе с ZooKeeper, может быть выполнена миграция в режим KRaft.

ВНИМАНИЕ
  • Миграция кластера Kafka в режим KRaft доступна начиная с версии ADS 3.7.2.1.b1.

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

  • Возможность обратной миграции из KRaft в ZooKeeper отсутствует.

Процесс миграции является полуавтоматическим и включает в себя следующие этапы:

Включение и выключение режима миграции выполняется при помощи действий сервиса Kafka в интерфейсе ADCM, момент запуска каждого их них определяется пользователем.

Подготовка к миграции

Определение состояния кластера

Перед включением миграции на странице конфигурирования сервиса Kafka проверьте состояние параметров Kafka quorum solution и KRaft migration mode.

Параметры перед началом миграции в KRaft
Параметры перед началом миграции в KRaft

Ниже описаны указания для действий при различных значениях параметров.

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 default dark actions default light в столбце Actions.

Установка компонента Kafka Controller
Установка компонента Kafka Controller

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

Выбор хостов для компонента Kafka Controller
Выбор хостов для компонента Kafka Controller

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

Компонент Kafka Controller
Компонент Kafka Controller

Включение режима миграции

Для запуска режима миграции должны быть соблюдены следующие условия:

  • Состояние параметров сервиса Kafka:

    • Kafka quorum solution — в значении ZooKeeper;

    • KRaft migration mode — в значении false.

  • В сервисе Kafka установлен компонент Kafka Controller, как описано выше.

Для запуска режима миграции в интерфейсе ADCM запустите действие KRaft migration stage 1 для сервиса Kafka, нажав на иконку actions default dark actions default light в столбце Actions.

Запуск режима миграции в Kafka
Запуск режима миграции в Kafka

Процесс включения режима миграции автоматически запускает:

  • настройку контроллеров Kafka для включения и выполнения миграции метаданных из ZooKeeper;

  • настройку брокеров Kafka для включения режима миграции, а также взаимодействия с кворумом KRaft (при этом брокеры все еще остаются настроены для работы с ZooKeeper);

  • перезапуск брокеров Kafka;

  • миграцию метаданных кластера из ZooKeeper в контроллер Kafka.

ВНИМАНИЕ
  • После успешного выполнения включения режима миграции контроллеры Kafka полностью функциональны и извлекают метаданные из ZooKeeper, но брокеры Kafka по-прежнему используют ZooKeeper в качестве кворума.

  • Переход к выключению режима миграции допускается выполнять только после проверки миграции данных, иначе может возникнуть поломка кластера.

Ниже приведено состояние параметров после успешного включения режима миграции:

  • 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 default dark actions default light в столбце Actions.

Выключение режима миграции
Выключение режима миграции

Процесс выключения режима миграции автоматически запускает:

  • настройку контроллеров Kafka для удаления всех свойств, связанных с ZooKeeper, и завершения миграции;

  • настройку брокеров Kafka для указания напрямую на кворум KRaft вместо кворума ZooKeeper, удаления всех свойств, связанных с ZooKeeper, и завершения миграции;

  • перезапуск брокеров и контроллеров Kafka.

Ниже приведено состояние параметров после успешного выключения режима миграции:

  • Kafka quorum solution — в значении KRaft;

  • KRaft migration mode — в значении false.

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней