Работа с топиками в ADS Control

Обзор страницы Topics

Страница Clusters → <cluster name> → Topics в web-интерфейсе ADS Control предназначена для отображения информации о топиках и управления топиками в кластере ADS. Страница Topics становится доступна после выбора кластера в секции управления кластерами и перехода на нужную вкладку на странице General.

Страница Topics
Страница Topics
Страница Topics
Страница Topics

В верхней части страницы содержатся:

  • Секция с общей информацией о топиках:

    • поле total topics — общее количество топиков в кластере, включая внутренние топики;

    • поле total partitions — общее количество партиций, включая партиции внутренних топиков, исключая реплики.

  • Секция общего управления топиками:

    • поле для поиска топика по наименованию;

    • кнопка restart dark restart light для обнуления результатов поиска;

    • переключатель toggle off dark toggle off light Show internal topics , активирующий отображение системных (внутренних) топиков;

    • кнопка Create topic для создания новых топиков.

Страница Topics содержит таблицу c информацией о каждом топике. Описание столбцов таблицы приведено ниже.

Поле Описание

Name

Имя топика. Кликнув имя, можно перейти на страницу обзора топика

Messages

Количество сообщений в топике

Internal

Указывает, является ли данный топик внутренним

Size

Размер данных, содержащихся в топике

Cleanup policy

Политика очищения журнала, установленная для топика (соответствует параметру топика cleanup.policy)

Retention,ms

Время хранения сообщений для топика с политикой хранения delete (соответствует параметру топика retention.ms)

Retention,bytes

Максимальный размер партиции, при достижении которого удаляются старые сегменты журнала для топика с политикой хранения delete (соответствует параметру топика retention.bytes)

Partitions

Kоличество партиций топика (соответствует параметру брокера num.partitions или опции --partitions при использовании скрипта kafka-topics.sh в командной строке)

Replicas

Фактор репликации топика (соответствует параметру брокера default.replication.factor или опции --replication-factor при использовании скрипта kafka-topics.sh в командной строке)

Tiered storage

Указывает, включен ли для данного топика параметр remote.storage.enable для активации опции хранения закрытых сегментов в многоуровневом хранилище (подробнее в статье Обзор Kafka Tiered Storage)

Actions

В столбце размещены иконки для управления топиком:

  • clear dark clear light — при нажатии на иконку выполняются два действия в фоновом режиме — удаление и последующее создание топика с теми же параметрами (очищение топика).

  • delete dark delete light — при нажатии на иконку топик удаляется. Операция удаления является асинхронной. При удалении топик отображается в таблице до тех пор, пока не будет фактически удален из кластера ADS.

Оба действия требуют подтверждения

Создание топика

После нажатия кнопки Create topic открывается страница создания топика.

Страница создания топика
Страница создания топика
Страница создания топика
Страница создания топика

В верхней части страницы находятся:

  • переключатель toggle off dark toggle off light Expand content, открывающий скрытое содержимое;

  • переключатель toggle off dark toggle off light JSON view, открывающий содержимое в JSON-формате;

  • кнопки Save для сохранения топика после установки параметров и Cancel для отмены создания топика.

Параметры для создаваемого топика разделены на выпадающие списки:

  • Common — основные параметры топика. Их описание размещено в таблице информации о топиках (описание параметра Min sync replicas — размещено в описании выпадающего списка Replication вкладки Configuration).

    В данном списке для топика можно активировать флаг Tiered storage. Эта активация включает опцию Tiered storage для топика, присваивая значение true параметру remote.storage.enable. После активации флага ниже появляются поля для дополнительных параметров:

    • Local retention ms — время хранения сегментов локального журнала на брокере до удаления (соответствует параметру топика local.retention.ms).

    • Local retention bytes — максимальный размер сегмента локального журнала (соответствует параметру топика local.retention.bytes).

    ПРИМЕЧАНИЕ
    Для работы Tiered storage опция должна быть предварительно включена для кластера в соответствии с выбранным хранилищем (HDFS или S3).
  • Advanced — поле для указания дополнительных параметров, отсутствующих в поле Common. Описание возможных дополнительных параметров топика размещено в описании выпадающих списков с параметрами вкладки Configuration. Если в поле Advanced указан параметр, который уже есть в поле Common, он будет перезаписан.

Операция создания топика является асинхронной. Топик появляется в таблице после физического создания в кластере ADS. Время ожидания зависит от работы кластера.

При указании параметров топика в JSON-формате незаполненным параметрам присвоятся значения по умолчанию. После заполнения формы нажмите Save для сохранения параметров топика или Cancel для отмены создания топика.

Окно создания топика в JSON-формате
Окно создания топика в JSON-формате
Окно создания топика в JSON-формате
Окно создания топика в JSON-формате

Обзор топика

После нажатия на имя топика в таблице топиков открывается страница обзора топика.

В верхней части страницы находится секция, отображающая основные параметры топика, а также иконки управления топиком в соответствии с таблицей, приведенной выше.

В нижней части отображаются вкладки:

Вкладка Messages

Вкладка Clusters → <cluster name> → Topics → <topic name> → Messages открывается по умолчанию при переходе на страницу обзора топика. Вкладка предоставляет информацию о сообщениях, содержащихся в топике, отображает (читает) их ключи и значения, а также позволяет записывать сообщения.

Вкладка Messages
Вкладка Messages
Вкладка Messages
Вкладка Messages

На вкладке Messages находятся:

  • Секция с полями для управления выводом сообщений:

    • Поле для поиска сообщения по записанному значению (Value).

    • Partitions — во всплывающем списке можно выбрать номера партиций топика, которые должны быть отображены.

    • Start offset — начальное смещение партиции, с которого будут читаться сообщения. Возможные значения: Earliest, Latest, Value. При выборе Value появляется возможность выбрать номер смещения в поле, расположенном рядом.

    • Max messages read — максимальное количество сообщений, которые будут прочитаны.

    • Кнопка Apply — применяет все условия, введенные в предыдущих полях. Данная кнопка активна в случае остановки потоковой передачи сообщений.

  • Кнопки для управления потоковой передачей сообщений:

    • play dark default play light default — запуск непрерывного чтения сообщений.

    • pause dark pause light — остановка непрерывного чтения сообщений.

  • Кнопка Produce message, после нажатия которой открывается окно для записи сообщений в топик Kafka.

    Запись сообщения

     

    После нажатия кнопки Produce message открывается страница для записи сообщения в топик Kafka. Для публикации сообщения введите параметры и нажмите кнопку Publish.

    Запись сообщения
    Запись сообщения
    Запись сообщения
    Запись сообщения

    Ниже описаны поля с параметрами, которые заполняются для записи сообщения.

    Параметры для записи сообщения
    Группа Поле Описание

    Common

    Topic

    Наименование топика. Поле заполняется автоматически

    Partition

    Номер партиции для записи сообщения. Вместо номера партиции может быть выбрано значение Auto (CRC32), тогда номер будет выбран автоматически

    Compression type

    Параметр сжатия сообщения (соответствует параметру производителя compression.type).

    Key

    Поле для ввода ключа сообщения

    Value

    Поле для ввода значения сообщения

    Headers

    Enter unique name

    Поле для ввода названия заголовка

    Enter value

    Поле для ввода значения заголовка

    ПРИМЕЧАНИЕ
    Для получения подробной информации о формате сообщений в Kafka вы можете обратиться к статье Формат сообщений в Kafka.
  • Таблица c информацией о сообщениях топика. Описание столбцов таблицы приведено ниже.

Поле Описание

Partition

Номер партиции

Offset

Смещение в партиции, под которым записано сообщение

Timestamp

Временная метка

Key

Ключ сообщения

Value

Значение сообщения

Вкладка Partitions

Вкладка Clusters → <cluster name> → Topics → <topic name> → Partitions открывается со страницы обзора топика. Вкладка предоставляет информацию о партициях топика.

Вкладка Partitions
Вкладка Partitions
Вкладка Partitions
Вкладка Partitions

На вкладке Partitions находятся:

  • Поле для поиска партиции по номеру.

  • Кнопка restart dark restart light для обнуления результатов поиска.

  • Таблица c информацией о каждой партиции. Описание столбцов таблицы приведено ниже.

Поле Описание

Partition ID

Номер партиции

Low

Минимальное смещение (offset) сообщений в партиции топика

High

Максимальное смещение (offset) сообщений в партиции топика

Messages

Количество сообщений в партиции

Brokers

Идентификаторы брокеров, на которых размещена партиция и ее реплики. После нажатия на идентификатор брокера осуществляется переход на страницу обзора брокера

Вкладка Configuration

Вкладка Clusters → <cluster name> → Topics → <topic name> → Configuration открывается со страницы обзора топика. Вкладка позволяет просматривать и редактировать параметры, которые могут быть изменены после создания топика.

Вкладка Configuration
Вкладка Configuration
Вкладка Configuration
Страница Configuration

На вкладке Configuration находятся:

  • Поле для поиска параметра по номеру.

  • Переключатель toggle off dark toggle off light Expand content, открывающий скрытое содержимое.

  • Переключатель toggle off dark toggle off light JSON view, открывающий содержимое в JSON-формате.

  • Кнопка Edit для запуска режима редактирования параметров топика. После редактирования параметров нажмите Save для сохранения изменений или Cancel для отмены изменений.

  • Параметры топика, разделенные на выпадающие списки. Ниже приведено краткое описание параметров топика, которые могут быть изменены или указаны на вкладке Configuration.

Replication
Параметр Описание

follower.replication.throttled.replicas

Список реплик, для которых репликация журналов должна регулироваться на стороне подписчика

leader.replication.throttled.replicas

Список реплик, для которых репликация журналов должна регулироваться на стороне лидера

min.insync.replicas

Минимальное количество реплик, которые должны подтвердить запись, чтобы запись считалась успешной. Подробнее про синхронизацию реплик можно прочитать в соответствующем разделе статьи Репликация в Kafka

unclean.leader.election.enable

Указывает, следует ли выбирать не входящие в набор ISR-реплики и в качестве лидера в крайнем случае, даже если это может привести к потере данных

Storage
Параметр Описание

cleanup.policy

Политика очищения журнала (см. в описании таблицы Topics)

compression.type

Тип сжатия для топика

delete.retention.ms

Время хранения маркеров удаления для сжатых топиков. Подробнее про маркеры удаления можно прочитать в соответствующем разделе статьи Сжатие журналов в Kafka

file.delete.delay.ms

Время ожидания перед удалением файла из файловой системы

max.compaction.lag.ms

Максимальное время, в течение которого сообщение не подлежит сжатию в журнале. Подробнее про запуск сжатия можно прочитать в соответствующем разделе статьи Сжатие журналов в Kafka

max.message.bytes

Максимальный размер пакета записей, разрешенный Kafka (после сжатия, если сжатие включено)

message.format.version

Версия формата сообщения, которую брокер будет использовать для добавления сообщений в журналы

message.timestamp.difference.max.ms

Максимальная допустимая разница между отметкой времени, когда брокер получает сообщение, и отметкой времени, указанной в сообщении

message.timestamp.type

Определяет, является ли временная метка в сообщении временем создания сообщения или временем добавления журнала

min.compaction.lag.ms

Минимальное время, в течение которого сообщение будет оставаться в журнале несжатым. Подробнее про запуск сжатия можно прочитать в соответствующем разделе статьи Сжатие журналов в Kafka

retention.bytes

Максимальный размер партиции до удаления старых сегментов (см. в описании таблицы Topics)

retention.ms

Время хранения сообщений (см. в описании таблицы Topics)

segment.bytes

Размер файла сегмента журнала

segment.ms

Период времени, по истечении которого Kafka принудительно просматривает журнал на возможность удаления или сжатия старых данных, даже если файл сегмента не заполнен

Storage Performance
Параметр Описание

flush.messages

Интервал (количество сообщений), через который будет принудительно выполняться fsync (синхронизация данных приложения с диском)

flush.ms

Временной интервал, через который будет принудительно выполняться fsync данных, записываемых в журнал

index.interval.bytes

Частота добавления записи индекса к индексу смещения Kafka

message.downconversion.enable

Включение понижающего преобразования форматов сообщений для обеспечения запросов на потребление

min.cleanable.dirty.ratio

Соотношение объема "грязных" сегментов к общему объему журнала, при котором начинается запуск сжатия. Подробнее про запуск сжатия можно прочитать в соответствующем разделе статьи Сжатие журналов в Kafka

segment.index.bytes

Размер индекса, который сопоставляет смещения с позициями файла

segment.jitter.ms

Максимальный случайный джиттер (фазовое дрожание цифрового сигнала) данных

Others
Параметр Описание

local.retention.bytes

Максимальный размер сегмента локального журнала

local.retention.ms

Время хранения сегментов локального журнала на брокере до удаления

message.timestamp.after.max.ms

Устанавливает допустимую разницу между временной меткой сообщения и временной меткой брокера. Временная метка сообщения может быть позже или равна временной метке брокера, при этом максимально допустимая разница определяется значением, установленным данным параметром

message.timestamp.before.max.ms

Устанавливает допустимую разницу между временной меткой брокера и временной меткой сообщения. Временная метка сообщения может быть раньше или равна временной метке брокера, при этом максимально допустимая разница определяется значением, установленным данным параметром

preallocate

Установите в true, если необходимо предварительно выделить файл на диске при создании нового сегмента журнала

remote.storage.enable

Включает для топика опцию Tiered Storage.

Внимание! Отключение опции Tiered Storage для топика в ADS Control не приводит к отключению опции для топика в Kafka — эта возможность недоступна на данный момент

При изменении параметров в JSON-формате после заполнения формы нажмите Save для сохранения изменений или Cancel для отмены изменений.

Параметры топика в JSON-формате
Параметры топика в JSON-формате
Параметры топика в JSON-формате
Параметры топика в JSON-формате

Вкладка Consumer groups

Вкладка Clusters → <cluster name> → Topics → <topic name> → Consumer Groups открывается со страницы обзора топика. Вкладка отображает группы потребителей, которые подключены к топику.

Consumer groups
Вкладка Consumer groups
Consumer groups
Вкладка Consumer groups

Вкладка Consumer groups содержит таблицу c информацией о подключенных группах потребителей. Описание столбцов таблицы приведено ниже.

Поле Описание

Consumer group ID

Имя группы потребителей. Кликнув имя, можно перейти на страницу обзора группы потребителей

Reading state

Состояние чтения

Lag

Задержка обработки потребителем

ПРИМЕЧАНИЕ
Работа с группами потребителей осуществляется на вкладке Consumer groups.
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней