Установка Kafka в режиме KRaft
Обзор
Сервис Kafka в режиме KRaft устанавливается как обычный сервис при установке кластера ADS в интерфейсе ADCM c применением дополнительных действий:
-
добавление дополнительного компонента Kafka Controller для создания кворума контроллера;
-
установка параметра Kafka quorum solution в значение
KRaft
во время конфигурирования сервиса Kafka для создания среды для работы режима KRaft (параметры, хранение метаданных и т.д.)
Ниже более подробно описаны шаги установки сервиса Kafka c применением дополнительных действий.
ВНИМАНИЕ
|
Шаг 1. Добавление сервиса
-
В интерфейсе ADCM откройте страницу Clusters и кликните по имени кластера ADS. Затем на открывшейся странице кластера перейдите на вкладку Services и нажмите Add services.
Переход к добавлению сервисов -
В открывшемся окне выберите сервис Kafka и нажмите Add.
Выбор сервисаВ результате добавленный сервис отобразится на вкладке Services.
Результат успешного добавления сервиса в кластер
Шаг 2. Добавление компонентов
-
На странице кластера откройте вкладку Mapping, чтобы перейти к распределению сервисных компонентов между хостами кластера.
Переход к распределению сервисных компонентовКомпоненты сервиса Kafka Компонент Описание Kafka Broker
Брокер, отвечающий за хранение партиций топиков, к которым подключаются клиенты для записи или чтения сообщений
Kafka Controller
Брокер, который отвечает за хранение топика метаданных кластера, участник кворума контроллера
-
Назначьте хост каждому компоненту сервиса Kafka — нажмите Add hosts и выберите нужный хост в открывшемся окне.
Выбор хоста для компонентаВНИМАНИЕДля установки Kafka в режиме KRaft Kafka Controller является обязательным компонентом, даже если он не подсвечен красным цветом. Рекомендуемое количество экземпляров Kafka Controller на кластер — 3. -
После завершения распределения компонентов нажмите Save, чтобы сохранить изменения.
Сохранение распределения компонентов
Шаг 3. Настройка сервиса
-
Откройте вкладку Services на странице кластера и кликните по имени сервиса Kafka в столбце Name.
Переход к настройке сервиса -
В открывшемся окне Primary configuration:
-
измените значение параметра Kafka quorum solution на
KRaft
; -
при необходимости заполните остальные конфигурационные параметры сервиса — описания параметров приведены в разделе Kafka статьи Конфигурационные параметры ADS.
Настройка сервиса KafkaПосле указания всех необходимых параметров нажмите Save.
-
-
Перейдите к настройке компонента Kafka Controller. Для этого из вкладки Primary configuration перейдите на вкладку Components и выберите компонент Kafka Controller.
Переход к настройке компонента Kafka Controller -
В открывшемся окне переведите в активное состояние переключатель Show advanced и при необходимости измените значения по умолчанию, установленные для конфигурационных параметров компонента Kafka Controller — описания параметров приведены под заголовком "Конфигурационные параметры компонента Kafka Controller" в разделе Kafka статьи Конфигурационные параметры ADS.
Настройка компонента Kafka ControllerПосле указания всех необходимых параметров нажмите Save.
Шаг 4. Установка сервиса
-
На вкладке Services в строке сервиса Kafka кликните по иконке
в столбце Actions и запустите действие Install.
Переход к установке сервиса -
Подтвердите действие в открывшемся окне.
Подтверждение действия -
Дождитесь завершения установки и убедитесь, что статус сервиса изменился с
created
наinstalled
.Процесс установки завершенЧтобы посмотреть процесс выполнения установки сервиса и проанализировать ошибки в случае их возникновения, выберите пункт Jobs в левом навигационном меню и кликните по имени задачи Install в списке задач Jobs.
Страница задачи Install
Шаг 5. Проверка результатов
Конфигурационные файлы
После установки Kafka в режиме KRaft через интерфейс ADCM автоматически устанавливаются все необходимые параметры для работы с кворумом контроллера в конфигурационных файлах для серверов брокеров и контроллеров (в директории /etc/kafka/conf/). Ниже приведены примеры созданных при помощи ADCM файлов конфигурации с учетом параметров, которые были определены на странице сервиса Kafka в соответствующей секции конфигурационных параметров.
node.id=1
auto.create.topics.enable=False
listeners=PLAINTEXT://:9092
log.dirs=/kafka-logs
default.replication.factor=1
num.partitions=1
delete.topic.enable=true
log.retention.hours=168
log.roll.hours=168
queued.max.requests=500
num.network.threads=3
num.io.threads=8
auto.leader.rebalance.enable=True
unclean.leader.election.enable=False
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
listener.security.protocol.map=PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT
process.roles=broker
controller.listener.names=CONTROLLER
controller.quorum.voters=100001@sov-ads-test-4.ru-central1.internal:9093
log.cleaner.enable=True
log.cleanup.policy=delete
log.cleanup.interval.mins=10
log.cleaner.min.compaction.lag.ms=0
log.cleaner.delete.retention.ms=86400000
security.inter.broker.protocol=PLAINTEXT
process.roles=controller
node.id=100001
controller.listener.names=CONTROLLER
listeners=CONTROLLER://:9093
log.dirs=/kafka-meta
controller.quorum.voters=100001@sov-ads-test-4.ru-central1.internal:9093
listener.security.protocol.map=CONTROLLER:PLAINTEXT
security.inter.broker.protocol=PLAINTEXT
export LOG_DIR=/var/log/kafka-controller
export PID_DIR=/var/run/kafka-controller
Хранение метаданных
При установке Kafka в режиме KRaft в интерфейсе ADCM при помощи скрипта /usr/lib/kafka/bin/kafka-storage.sh автоматически создается пространство хранения для каждого брокера и контроллера (папка /kafka-meta), содержащее файлы:
-
bootstrap.checkpoint — файл, содержащий набор записей UserScramCredentialsRecord (маркеры контрольных точек), которые используются для начальной загрузки кластера;
-
__cluster_metadata-0 — директория, содержащая файлы, в которых сохраняются все изменения метаданных кластера;
-
meta.properties — файл, содержащий информацию о текущем сервере, версии и идентификаторе кластера.