Настройки Apache Kafka®
Для кластера 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
Все интерфейсыКодек, используемый для сжатия сообщений:
Консоль управления, Terraform и API CLI Описание COMPRESSION_TYPE_UNCOMPRESSEDuncompressedСжатие выключено COMPRESSION_TYPE_ZSTDzstdКодек zstd COMPRESSION_TYPE_LZ4lz4Кодек lz4 COMPRESSION_TYPE_SNAPPYsnappyКодек snappy COMPRESSION_TYPE_GZIPgzipКодек gzip COMPRESSION_TYPE_PRODUCERproducerКодек задается на стороне производителя По умолчанию кодек для сжатия устанавливается производителем (
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
Все интерфейсыОпределяет, будет ли заранее выделяться место под файлы сегментов лога.
По умолчанию место под файлы сегментов лога выделяется по мере их заполнения (
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
Все интерфейсыРазмер сегмента для файлов лога (в байтах).
Сохранение и очистка файлов сегмента выполняются пофайлово. Чем меньше заданный размер сегмента, тем больше файлов будет в логе, зато контроль над хранением будет более гибким.
Минимальное значение —
14, максимальное значение —2147483647, значение по умолчанию —1073741824(1 гигабайт).Это глобальная настройка, которая задается на уровне кластера. Ее можно переопределить на уровне топика.
Полное описание настройки см. в разделе Максимальный размер сегмента логов и в документации Apache Kafka®
. -
Message max bytes
Все интерфейсыМаксимальный размер сообщения от производителя (в байтах).
Минимальное значение —
0(размер не ограничен), значение по умолчанию —1048588. Значение настройки связано со значением настройки Replica fetch max bytes следующим образом:
replica.fetch.max.bytes >= message.max.bytes + 12Это глобальная настройка, которая задается на уровне кластера.
Полное описание настройки см. в документации Apache Kafka®
. -
Num partitions
Все интерфейсыКоличество разделов лога на топик в кластере.
Настройка применяется только для автоматически создаваемых топиков.
Минимальное значение и значение по умолчанию —
1.См. также описание настройки уровня топика Num partitions.
Полное описание настройки см. в документации Apache Kafka®
. -
Offsets retention minutes
Все интерфейсыКомпенсация времени хранения после потери группой всех потребителей (в минутах).
Минимальное значение —
1, значение по умолчанию —10080.Это глобальная настройка, которая задается на уровне кластера.
Полное описание настройки см. в документации Apache Kafka®
. -
Replica fetch max bytes
Все интерфейсыРазмер буфера межброкерных сообщений (в байтах).
Минимальное значение —
0(размер не ограничен), значение по умолчанию —1048576. Значение настройки связано со значением настройки Message max bytes следующим образом:
message.max.bytes <= replica.fetch.max.bytes - 12Это глобальная настройка, которая задается на уровне кластера.
Полное описание настройки см. в документации Apache Kafka®
. -
Sasl enabled mechanisms
Все интерфейсыМеханизмы шифрования, которые можно использовать при подключении к кластеру.
Можно выбрать одно или несколько значений:
Консоль управления, Terraform и API CLI SASL_MECHANISM_SCRAM_SHA_256SCRAM-SHA-256SASL_MECHANISM_SCRAM_SHA_512SCRAM-SHA-512Если настройка не задана пользователем, используется только механизм
SCRAM-SHA-512.Полное описание настройки см. в документации Apache Kafka®
. -
Socket receive buffer bytes
Консоль управленияTerraformAPIРазмер буфера для сокета приема (в байтах).
Минимальное значение и значение по умолчанию —
-1(используются настройки операционной системы), максимальное значение —2147483647.Полное описание настройки см. в документации Apache Kafka®
. -
Socket send buffer bytes
Консоль управленияTerraformAPIРазмер буфера для сокета отправки (в байтах).
Минимальное значение и значение по умолчанию —
-1(используются настройки операционной системы), максимальное значение —2147483647.Полное описание настройки см. в документации Apache Kafka®
. -
Ssl cipher suites
Все интерфейсыСписок алгоритмов шифрования кластера.
Значение по умолчанию отсутствует (поддерживаются все наборы алгоритмов шифрования).
Это глобальная настройка, которая задается на уровне кластера.
Полное описание настройки см. в документации Apache Kafka®
.
Настройки отдельных топиков
Доступны следующие настройки:
-
Cleanup policy
Все интерфейсыПолитика хранения старых сообщений лога:
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®
. -
Message max bytes
Все интерфейсыМаксимальный размер сообщения от производителя в байтах.
Минимальное значение —
0(размер не ограничен), значение по умолчанию —1048588. Значение настройки не должно превышать значение Replica fetch max bytes более, чем на 12 байт.В консоли управления этой настройке соответствует Максимальный размер группы сообщений.
Полное описание настройки см. в документации Apache Kafka®
. -
Min compaction lag, ms
Все интерфейсыМинимальное время, в течение которого сообщение в логе будет оставаться несжатым.
В консоли управления этой настройке соответствует Минимальная задержка сжатия, мс.
Полное описание настройки см. в документации Apache Kafka®
. -
Minimum number of in-sync replicas
Все интерфейсыМинимальное количество реплик, от которых необходимо дождаться подтверждения записи, чтобы запись сообщения в топик считалась успешной. Используйте эту настройку, если производитель (Producer) ожидает подтверждения успешной записи от всех хостов-брокеров кластера слишком долго.
Минимальное значение зависит от количества хостов-брокеров:
- для кластеров с одним хостом-брокером —
1; - для кластеров с двумя и более хостами-брокерами —
2.
В консоли управления этой настройке соответствует Минимальное число синхронных реплик.
Полное описание настройки см. в документации Apache Kafka®
. - для кластеров с одним хостом-брокером —
-
Num partitions
Все интерфейсыКоличество разделов лога на топик.
Минимальное значение и значение по умолчанию —
1.Подробнее см. в настройке уровня кластера Num partitions.
В консоли управления этой настройке соответствует Количество разделов.
Полное описание настройки см. в документации Apache Kafka®
. -
Pre-allocation of the segment file
Все интерфейсыОпределяет, будет ли заранее выделяться место под файлы сегментов лога. По умолчанию место под файлы сегментов лога выделяется по мере их заполнения (
false).Подробнее см. в настройке уровня кластера Log preallocate.
В консоли управления этой настройке соответствует Предварительное выделение файла сегмента.
Полное описание настройки см. в документации Apache Kafka®
. -
Replication factor
Все интерфейсыКоличество копий данных для топика.
Минимальное значение и значение по умолчанию —
1. Максимальное значение равно количеству хостов-брокеров в кластере.Подробнее см. в настройке уровня кластера Default replication factor.
В консоли управления этой настройке соответствует Фактор репликации.
Полное описание настройки см. в документации Apache Kafka®
. -
Retention, bytes
Все интерфейсыМаксимальный размер (в байтах), до которого может вырасти раздел.
Подробнее см. в настройке уровня кластера Log retention bytes.
В консоли управления этой настройке соответствует Максимальный размер раздела, байт.
Полное описание настройки см. в документации Apache Kafka®
. -
Retention, ms
Все интерфейсыВремя (в миллисекундах), в течение которого Apache Kafka® будет хранить файл сегмента лога.
Подробнее см. в настройке уровня кластера Log retention ms.
В консоли управления этой настройке соответствует Время жизни сегмента лога, мс.
Полное описание настройки см. в документации Apache Kafka®
. -
Segment bytes
Все интерфейсыРазмер сегмента для файлов лога (в байтах).
Сохранение и очистка файлов сегмента выполняются пофайлово. Чем меньше заданный размер сегмента, тем больше файлов будет в логе, зато контроль над хранением будет более гибким.
Минимальное значение —
14, значение по умолчанию —1073741824(1 гигабайт).Подробнее см. в настройке уровня кластера Log segment bytes.
Полное описание настройки см. в разделе Максимальный размер сегмента логов и в документации Apache Kafka®
.