Миграция с ZooKeeper на режим KRaft
Начиная с Kafka 4.0, режим ZooKeeper больше не будет поддерживаться. Оператор также уберет поддержку режима ZooKeeper в будущих версиях. Рекомендуется как можно скорее мигрировать ваши экземпляры Kafka в режим KRaft.
Важное замечание по версии
- Оператор версии v4.2.x поддерживает только режим KRaft: режим ZooKeeper полностью удалён в версии v4.2.x.
- Миграцию необходимо завершить до обновления на v4.2.x: если вы планируете обновиться до Alauda Streaming Service for Kafka v4.2.x, сначала необходимо мигрировать все ваши экземпляры в режим KRaft с помощью оператора версии v4.1.x.
- v4.2.x не поддерживает миграцию: оператор версии v4.2.x не поддерживает режим ZooKeeper и не может выполнить миграцию с ZooKeeper на KRaft. Миграцию нужно завершить, пока вы используете версию v4.1.x.
Особенности миграции
- Прерывание сервиса: процесс миграции может вызвать временные перебои в работе сервиса.
- Изменения в подключениях: после миграции изменятся имена pod и сервисов (svc), что может привести к изменению адресов подключения. Крайне важно своевременно обновить адреса доступа к вашим экземплярам после миграции. Если вы подключаетесь к Kafka через сервисы bootstrap или external-bootstrap, адреса доступа останутся без изменений, и обновления не потребуются.
- Невозвратность: после миграции на KRaft откат к режиму ZooKeeper не поддерживается.
Предварительные требования
- Версия Kafka должна быть 3.8 или выше
- Уведомьте потребителей и производителей о возможных временных перебоях
- Убедитесь, что кластер Kafka здоров и полностью функционирует
- Проверьте текущий режим ваших экземпляров Kafka: Это поможет определить, какие экземпляры всё ещё работают в режиме ZooKeeper и требуют миграции.
Шаги миграции
- Сначала проверьте текущий режим ваших экземпляров Kafka:
- Выполните патчинг экземпляра Kafka для переключения в режим KRaft:
- Отслеживайте статус миграции:
Статус будет изменяться следующим образом:
Migrating: миграция в процессеActive: миграция успешно завершена
Шаги после миграции
Особенности миграции
Если ваши приложения не используют сервисы bootstrap или external-bootstrap (например, при внутреннем или внешнем доступе они используют IP-адреса и порты, связанные с <name>-kafka-<i>.<namespace>.svc.cluster.local), необходимо обновить их конфигурации подключения.
-
Проверьте подключение клиентов и целостность данных:
- Убедитесь, что все приложения-производители и потребители успешно подключаются к кластеру Kafka (проверьте логи на наличие ошибок подключения, таймаутов или проблем с аутентификацией).
- Выполните тестовую отправку и получение сообщений: отправьте тестовые сообщения через производителей и подтвердите, что они корректно принимаются потребителями без потерь или повреждений данных.
- Проверьте, что основные бизнес-топики доступны и содержат все данные, сохранённые до миграции.
-
Мониторинг производительности:
- Следите за производительностью контроллера
- Мониторьте обработку партиций и операции с метаданными