Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex Managed Service for Apache Kafka®
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Информация об имеющихся кластерах
    • Создание кластера
    • Подключение к кластеру
    • Остановка и запуск кластера
    • Обновление версии Apache Kafka®
    • Изменение настроек кластера
    • Управление хостами Apache Kafka®
    • Работа с топиками и разделами
    • Управление учетными записями Kafka
    • Управление коннекторами
    • Просмотр логов кластера
    • Удаление кластера
    • Мониторинг состояния кластера и хостов
  • Практические руководства
    • Все руководства
    • Поставка данных в Managed Service for ClickHouse
    • Настройка Kafka Connect для работы с Managed Service for Apache Kafka®
    • Поставка данных в ksqlDB
    • Использование схем формата данных с Managed Service for Apache Kafka®
      • Обзор
      • Работа с управляемым реестром схем формата данных
      • Работа с реестром схем формата данных Confluent
    • Миграция данных в Managed Service for Apache Kafka®
    • Поставка данных с помощью Debezium
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Топики и разделы
    • Брокеры
    • Производители и потребители
    • Управление схемами данных
    • Классы хостов
    • Сеть в Managed Service for Apache Kafka®
    • Квоты и лимиты
    • Типы хранилища
    • Коннекторы
    • Техническое обслуживание
    • Настройки Apache Kafka®
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • ClusterService
      • ConnectorService
      • ResourcePresetService
      • TopicService
      • UserService
      • OperationService
    • REST (англ.)
      • Overview
      • Cluster
        • Overview
        • create
        • delete
        • get
        • list
        • listHosts
        • listLogs
        • listOperations
        • move
        • rescheduleMaintenance
        • start
        • stop
        • streamLogs
        • update
      • Connector
        • Overview
        • create
        • delete
        • get
        • list
        • pause
        • resume
        • update
      • ResourcePreset
        • Overview
        • get
        • list
      • Topic
        • Overview
        • create
        • delete
        • get
        • list
        • update
      • User
        • Overview
        • create
        • delete
        • get
        • grantPermission
        • list
        • revokePermission
        • update
      • Operation
        • Overview
        • get
  • История изменений
  • Вопросы и ответы
  1. Концепции
  2. Настройки Apache Kafka®

Настройки Apache Kafka®

Статья создана
Yandex Cloud
  • Настройки уровня кластера
  • Настройки отдельных топиков

Для кластера Managed Service for Apache Kafka® можно задать настройки, которые относятся к Apache Kafka®. Часть настроек задается на уровне кластера, часть — на уровне топиков.

Метки рядом с названием настройки позволяют определить, с помощью какого интерфейса задается значение этой настройки: консоль управления, CLI, API или Terraform. Метка Все интерфейсы указывает, что поддерживаются все перечисленные интерфейсы.

В зависимости от выбранного интерфейса, одна и та же настройка будет представлена по-разному, например, Compression type в консоли управления соответствует:

  • --compression-type в CLI;
  • compression_type в gRPC API и Terraform;
  • compressionType в REST API.

Настройки уровня кластера

Доступны следующие настройки:

  • Auto create topics enable Консоль управления

    Управляет автоматическим созданием топиков.

    По умолчанию автоматическое создание топиков выключено (false).

    Подробнее см. в документации Apache Kafka®.

  • Compression type Все интерфейсы

    В консоли управления этой настройке соответствует Тип сжатия.

    Кодек, используемый для сжатия сообщений:

    Консоль управления CLI Terraform и API Описание
    Uncompressed uncompressed COMPRESSION_TYPE_UNCOMPRESSED Сжатие выключено
    Zstd zstd COMPRESSION_TYPE_ZSTD Кодек zstd
    Lz4 lz4 COMPRESSION_TYPE_LZ4 Кодек lz4
    Snappy snappy COMPRESSION_TYPE_SNAPPY Кодек snappy
    Gzip gzip COMPRESSION_TYPE_GZIP Кодек gzip
    Producer producer COMPRESSION_TYPE_PRODUCER Кодек задается на стороне производителя

    По умолчанию кодек для сжатия устанавливается производителем (COMPRESSION_TYPE_PRODUCER).

    Это глобальная настройка, которая задается на уровне кластера. Ее можно переопределить на уровне топика.

    Подробнее см. в документации Apache Kafka®.

  • Default replication factor Все интерфейсы

    Количество копий данных для топика в кластере.

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

    Минимальное значение и значение по умолчанию — 1. Максимальное значение равно количеству хостов-брокеров в кластере.

    См. также описание настройки уровня топика Replication factor.

    Подробнее см. в документации Apache Kafka®.

  • Log flush interval messages Все интерфейсы

    В консоли управления этой настройке соответствует Максимальное число сообщений в памяти.

    Количество сообщений топика, которое может накопиться в памяти прежде, чем эти сообщения будут записаны на диск. Например, если параметр равен 1, запись на диск будет происходить после получения каждого сообщения, а если 5, то сообщения будут записываться на диск группами по пять.

    Минимальное значение — 1, максимальное значение и значение по умолчанию — 9223372036854775807.

    Это глобальная настройка, которая задается на уровне кластера. Ее можно переопределить на уровне топика.

    Подробнее см. в документации Apache Kafka®.

  • Log flush interval ms Все интерфейсы

    Максимальное время в миллисекундах, в течение которого сообщение может храниться в памяти перед принудительным сбросом на диск. Если значение не задано, то используется значение настройки Log flush scheduler interval ms.

    Максимальное значение — 9223372036854775807.

    Это глобальная настройка, которая задается на уровне кластера. Ее можно переопределить на уровне топика.

    Подробнее см. в документации Apache Kafka®.

  • Log flush scheduler interval ms Все интерфейсы

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

    Максимальное значение и значение по умолчанию — 9223372036854775807.

    Подробнее см. в документации Apache Kafka®.

  • Log preallocate Консоль управления CLI Terraform

    Определяет, будет ли заранее выделяться место под файлы журналов.

    По умолчанию место под файлы журналов выделяется по мере их заполнения (false).

    Это глобальная настройка, которая задается на уровне кластера. Ее можно переопределить на уровне топика.

    Подробнее см. в документации Apache Kafka®.

  • Log retention bytes Все интерфейсы

    В консоли управления этой настройке соответствует Максимальный размер раздела, байт.

    Максимальный размер (в байтах), до которого может вырасти раздел. Когда раздел достигнет заданного размера, Apache Kafka® начнет удалять старые сегменты лога. Настройка применяется, если действует политика очистки лога Delete.

    Минимальное значение и значение по умолчанию — -1 (размер лога не ограничивается), максимальное значение — 9223372036854775807.

    Используйте эту настройку, если необходимо контролировать размер лога из-за ограниченного дискового пространства.

    Это глобальная настройка, которая задается на уровне кластера. Ее можно переопределить на уровне топика.

    Подробнее см. в документации Apache Kafka®.

    См. также настройку Log retention ms.

  • Log retention hours Все интерфейсы

    Время (в часах), в течение которого Apache Kafka® будет хранить файл сегмента лога. Эта настройка применяется, если действует политика очистки лога Delete: по истечении заданного времени файл сегмента будет удален.

    Максимальное значение и значение по умолчанию — 168.

    Подробнее см. в документации Apache Kafka®.

  • Log retention minutes Все интерфейсы

    Время (в минутах), в течение которого Apache Kafka® будет хранить файл сегмента лога. Эта настройка применяется, если действует политика очистки лога Delete: по истечении заданного времени файл сегмента будет удален.

    Максимальное значение — 2147483647. Если значение не задано, то используется настройка Log retention hours.

    Подробнее см. в документации Apache Kafka®.

  • Log retention ms Все интерфейсы

    В консоли управления этой настройке соответствует Время жизни сегмента лога, мс.

    Время (в миллисекундах), в течение которого Apache Kafka® будет хранить файл сегмента лога. Эта настройка применяется, если действует политика очистки лога Delete: по истечении заданного времени файл сегмента будет удален.

    Минимальное значение — -1 (логи хранятся без ограничений по времени), максимальное значение — 9223372036854775807. Если значение не задано, используется настройка Log retention minutes.

    Важно

    Если для настроек Log retention bytes и Log retention ms указано значение -1, лог растет неограниченно. Это может привести к быстрому исчерпанию места в хранилище кластера.

    Это глобальная настройка, которая задается на уровне кластера. Ее можно переопределить на уровне топика.

    Подробнее см. в документации Apache Kafka®.

    См. также настройку Log retention bytes.

  • Log segment bytes Консоль управления CLI Terraform

    Максимальный размер (в байтах) пачки сообщений, который Apache Kafka® разрешает записать в топик производителю или прочитать из топика потребителю (после сжатия, если оно включено).

    Минимальное значение — 14, максимальное значение — 2147483647, значение по умолчанию — 1073741824 (1 гигабайт).

    Это глобальная настройка, которая задается на уровне кластера. Ее можно переопределить на уровне топика.

    Подробнее см. в разделе Максимальный размер сегмента логов и в документации Apache Kafka®.

  • Num partitions Все интерфейсы

    Количество разделов лога на топик в кластере.

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

    Минимальное значение и значение по умолчанию — 1.

    См. также описание настройки уровня топика Num partitions.

    Подробнее см. в документации Apache Kafka®.

  • Socket receive buffer bytes Консоль управления

    Размер буфера для сокета приема (в байтах).

    Минимальное значение и значение по умолчанию — -1 (используются настройки операционной системы), максимальное значение — 2147483647.

    Подробнее см. в документации Apache Kafka®.

  • Socket send buffer bytes Консоль управления

    Размер буфера для сокета отправки (в байтах).

    Минимальное значение и значение по умолчанию — -1 (используются настройки операционной системы), максимальное значение — 2147483647.

    Подробнее см. в документации Apache Kafka®.

Настройки отдельных топиков

Доступны следующие настройки:

  • Cleanup policy Консоль управления CLI API

    В консоли управления этой настройке соответствует Политика очистки лога.

    Политика хранения старых сообщений лога:

    • Delete (CLEANUP_POLICY_DELETE для Terraform и API) — удалять сегменты лога либо при истечении срока их хранения, либо при достижении предельного размера лога;
    • Compact (CLEANUP_POLICY_COMPACT для Terraform и API) — сжимать сообщения в логе;
    • CompactAndDelete (CLEANUP_POLICY_COMPACT_AND_DELETE для Terraform и API) — использовать как сжатие сообщений, так и удаление сегментов лога.

    Подробнее см. в документации Apache Kafka®.

  • Compression type Все интерфейсы

    В консоли управления этой настройке соответствует Тип сжатия.

    См. описание настройки уровня кластера Compression type.

    Подробнее см в документации Apache Kafka®.

  • Delete delay, ms Все интерфейсы

    В консоли управления этой настройке соответствует Задержка удаления, мс.

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

    Подробнее см. в документации Apache Kafka®.

  • Delete retention Консоль управления

    Время (в миллисекундах), в течение которого нужно хранить tombstone-маркеры удаления для топиков со сжатым логом. Эта настройка применяется только в том случае, если политика очистки лога установлена в режим Compact или CompactAndDelete.

    Подробнее см. в документации Apache Kafka®.

  • Flush messages Все интерфейсы

    В консоли управления этой настройке соответствует Максимальное число сообщений в памяти.

    См. описание настройки уровня кластера Log flush interval messages.

    Подробнее см. в документации Apache Kafka®.

  • Flush, ms Все интерфейсы

    В консоли управления этой настройке соответствует Время хранения сообщения в памяти, мс.

    См. описание настройки уровня кластера Log flush interval ms.

    Подробнее см. в документации Apache Kafka®.

  • Maximum batch size Все интерфейсы

    В консоли управления этой настройке соответствует Максимальный размер группы сообщений.

    См. описание настройки уровня кластера Log segment bytes.

    Минимальное значение — 0, значение по умолчанию — 1048588 (1 мегабайт).

    Подробнее см. в документации Apache Kafka®.

  • Min compaction lag, ms Все интерфейсы

    В консоли управления этой настройке соответствует Минимальная задержка сжатия, мс.

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

    Подробнее см. в документации Apache Kafka®.

  • Minimum number of in-sync replicas Консоль управления CLI API

    В консоли управления этой настройке соответствует Минимальное число синхронных реплик.

    Минимальное количество реплик, от которых необходимо дождаться подтверждения записи, чтобы запись сообщения в топик считалась успешной. Используйте эту настройку, если производитель (Producer) ожидает подтверждения успешной записи от всех хостов-брокеров кластера слишком долго.

    Минимальное значение зависит от количества хостов-брокеров:

    • для кластеров с одним хостом-брокером — 1;
    • для кластеров с двумя и более хостами-брокерами — 2.

    Подробнее см. в документации Apache Kafka®.

  • Num partitions Все интерфейсы

    В консоли управления этой настройке соответствует Количество разделов.

    Количество разделов лога на топик.

    Минимальное значение и значение по умолчанию — 1.

    См. также описание настройки уровня кластера Num partitions.

    Подробнее см. в документации Apache Kafka®.

  • Preallocate CLI Terraform

    См. описание настройки уровня кластера Log preallocate.

    Подробнее см. в документации Apache Kafka®.

  • Replication factor Все интерфейсы

    В консоли управления этой настройке соответствует Фактор репликации.

    Количество копий данных для топика.

    Минимальное значение и значение по умолчанию — 1. Максимальное значение равно количеству хостов-брокеров в кластере.

    См. также описание настройки уровня кластера Default replication factor.

    Подробнее см. в документации Apache Kafka®.

  • Retention, bytes Все интерфейсы

    В консоли управления этой настройке соответствует Максимальный размер раздела, байт.

    См. описание настройки уровня кластера Log retention bytes.

    Подробнее см. в документации Apache Kafka®.

  • Retention, ms Все интерфейсы

    В консоли управления этой настройке соответствует Время жизни сегмента лога, мс.

    См. описание настройки уровня кластера Log retention ms.

    Подробнее см. в документации Apache Kafka®.

  • Segment bytes Все интерфейсы

    Размер сегмента для файлов лога в байтах.

    Сохранение и очистка файлов сегмента выполняются пофайлово. Чем меньше заданный размер сегмента, тем больше файлов будет в логе, зато контроль над хранением будет более гибким.

    Минимальное значение — 14, значение по умолчанию — 1073741824 (1 гигабайт).

    Подробнее см. в разделе Максимальный размер сегмента логов и в документации Apache Kafka®.

Была ли статья полезна?

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • Настройки уровня кластера
  • Настройки отдельных топиков