Настройки 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_UNCOMPRESSED
uncompressed
Сжатие выключено COMPRESSION_TYPE_ZSTD
zstd
Кодек zstd COMPRESSION_TYPE_LZ4
lz4
Кодек lz4 COMPRESSION_TYPE_SNAPPY
snappy
Кодек snappy COMPRESSION_TYPE_GZIP
gzip
Кодек gzip COMPRESSION_TYPE_PRODUCER
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
Все интерфейсы
Определяет, будет ли заранее выделяться место под файлы сегментов лога.
По умолчанию место под файлы сегментов лога выделяется по мере их заполнения (
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_256
SCRAM-SHA-256
SASL_MECHANISM_SCRAM_SHA_512
SCRAM-SHA-512
Если настройка не задана пользователем, используется только механизм
SCRAM-SHA-512
.Полное описание настройки см. в документации Apache Kafka®
. -
Socket receive buffer bytes
Консоль управления
Terraform
API
Размер буфера для сокета приема (в байтах).
Минимальное значение и значение по умолчанию —
-1
(используются настройки операционной системы), максимальное значение —2147483647
.Полное описание настройки см. в документации Apache Kafka®
. -
Socket send buffer bytes
Консоль управления
Terraform
API
Размер буфера для сокета отправки (в байтах).
Минимальное значение и значение по умолчанию —
-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®
.