Перераспределение — это переалокация отношений подписки между потребителями и разделами тем в группе потребителей. Во время перераспределения все потребители в группе потребителей прекращают потребление сообщений до завершения перераспределения.
Возможные причины перераспределения:
- Изменяется количество участников группы потребителей. Например, в группу вступает новый потребитель или потребитель покидает группу.
- Изменяется количество тем, на które подписана группа потребителей.
- Изменяется количество разделов тем, на которые подписана группа потребителей.
Журналы перераспределения фиксируют детали перераспределения, включая время, причину и инициирующего клиента. В этом разделе описывается, как просматривать журналы перераспределения в консоли.
Журналы перераспределения хранятся и могут быть запрошены в сервисе Log Tank Service (LTS).
Примечания и ограничения
- Журналы перераспределения хранятся по умолчанию семь дней. Чтобы сохранить их дольше, см. Изменение группы журналов.
- Enabling rebalancing logging will create a log group, log stream, and dashboard in LTS.
- Когда экземпляры Kafka сохраняют журналы ребалансировки в одной группе журналов и потоке журналов, группа журналов и поток каждого экземпляра содержат журналы ребалансировки всех экземпляров.
Предварительные требования
- Убедитесь, что у вас есть разрешения на создание групп журналов и потоков журналов в LTS.
- Журналирование ребалансировки может быть включено или отключено только когда экземпляр Kafka находится в Запущен состояние.
Включение журналирования ребалансировки
- Войдите в консоль.
- Нажмите
в левом верхнем углу, чтобы выбрать регион, где находится ваш экземпляр. - Нажмите
в левом верхнем углу и выберите Приложение > Distributed Message Service for Kafka чтобы открыть список экземпляров Kafka. - Щелкните нужный экземпляр, чтобы перейти на страницу деталей экземпляра.
- В навигационной панели выберите Анализ и диагностика > Логи ребалансировки.
- Щелкните Включить логирование. Эта Включить логирование отображается диалоговое окно.
- Щелкните OK. Эта Настроить логи отображается диалоговое окно.
- Определите, следует ли включить эту функцию по требованию. Щелкните OK. Эта Фоновые задачи страница отображается. Функция ребалансировочного Лога включена, когда Включить логирование задача находится в Успешно состоянии.
- Отключено: LTS автоматически создает группу логов и поток логов.
- Включено: Выберите группу логов и поток логов, которые хранят coordinator.log файл. Чтобы просмотреть или создать группу логов и поток логов, нажмите Просмотр группы логов справа, чтобы перейти в консоль LTS.
Просмотр ребалансировочных логов
- Войдите в консоль.
- Нажмите
в левом верхнем углу, чтобы выбрать регион, где находится ваш экземпляр. - Нажмите
в левом верхнем углу и выберите Приложение > Distributed Message Service for Kafka чтобы открыть список экземпляров Kafka. - Щелкните нужный экземпляр, чтобы перейти на страницу сведений об экземпляре.
- В навигационной области выберите Анализ и диагностика > Логи ребалансировки.
- На Панель мониторинга вкладке, посмотрите количество ребалансировок группы потребителей и причины. На Логи вкладке, посмотрите логи ребалансировки.
Чтобы искать логи, см. Доступ к странице поиска логов.
Пример лога ребалансировки:
{"level":"INFO","timestamp":"2023-03-23 17:23:22,906","message":{"leaderId":"consumer-1-177817b6-1f29-4717-8a83-dda8eaab1635","generationId":"1","reason":"Assignment received from leader for group KMOffsetCache-dms-vm-fa3cf9d6-manager-shared-server-0 for generation 1","groupId":"KMOffsetCache-dms-vm-fa3cf9d6-manager-shared-server-0","coordinatorId":"0","type":"END_REBALANCE","group":"GroupMetadata(groupId=KMOffsetCache-dms-vm-fa3cf9d6-manager-shared-server-0, generation=1, protocolType=Some(consumer), currentState=CompletingRebalance, members=Map(consumer-1-177817b6-1f29-4717-8a83-dda8eaab1635 -> MemberMetadata(memberId=consumer-1-177817b6-1f29-4717-8a83-dda8eaab1635, clientId=consumer-1, clientHost=/172.31.2.168, sessionTimeoutMs=10000, rebalanceTimeoutMs=300000, supportedProtocols=List(range), )))"}}Таблица 1 описывает параметры.
Таблица 1 Параметры ребалансировки Параметр
Описание
уровень
Уровень журналов ребалансировки. Единственное значение INFO.
временная метка
Время ребалансировки.
leaderId
ID лидера потребителя.
generationId
ID поколения группы потребителей. Поколение — это количество раз, когда группа потребителей выполняет ребалансировку. Он увеличивается на 1 каждый раз, когда ребалансировка завершается.
причина
Причина инициирования ребалансировки.
groupId
ID группы потребителей.
coordinatorId
Брокер, где находится компонент Coordinator.
тип
Операция, вызвавшая ребалансировку. Значения:
- JOIN_GROUP: Новый потребитель добавлен в группу потребителей.
- OVER_CAPACITY: Превышен лимит группы.
- UPDATE_MEMBER: Метаданные потребителя обновлены.
- PROTOCOL_CHANGE: Протокол изменён.
- HEARTBEAT_EXPIRED: Тайм-аут сигнала heartbeat потребителя.
- SYNC_GROUP: План переназначения синхронизирован.
- END_REBALANCE: Ребалансировка завершена.
- LEAVE_GROUP: Потребитель покинул группу потребителей.
- DELETE_GROUP: Пользователь удаляет группу потребителей.
группа
Информация о потребителях в группе потребителей.
Отключение журналирования ребалансировки
- Войдите в консоль.
- Нажмите
в верхнем левом углу, чтобы выбрать регион, где находится ваш экземпляр. - Нажмите
в верхнем левом углу и выберите Приложение > Distributed Message Service for Kafka чтобы открыть список экземпляров Kafka. - Нажмите нужный экземпляр, чтобы перейти на страницу сведений об экземпляре.
- В навигационной панели выберите Анализ и диагностика > Журналы ребалансировки.
- Нажмите Отключить журналирование в правом верхнем углу. Эта Отключить журналирование диалоговое окно отображается.
- Нажмите OK. Эта Фоновые задачи страница отображается. Функция журнала балансировки отключается, когда задача журналирования балансировки находится в Успешно состояние.
Это отключает только функцию журналирования балансировки. Группы журналов и потоки журналов в LTS сохраняются и по‑прежнему создают плату. Если вам больше не нужны журналы, удалите группы журналов и потоки журналов.