• Русский
  • Конфигурация параметров

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

    Примечания
    1. После обновления версии Kafka, если есть параметры, которые необходимо удалить, устарели или изменить, пожалуйста, обратитесь к соответствующим изменениям на официальном сайте Kafka.
    2. Для обеспечения стабильной работы среды Kafka некоторые параметры и префиксы параметров не поддерживаются для настройки (например, advertised. authorizer. broker. controller cruise.control.metrics.reporter.bootstrap. cruise.control.metrics.topic host.name inter.broker.listener.name listener. listeners. log.dir password. port process.roles sasl. security. servers,node.id ssl. super.user zookeeper.clientCnxnSocket zookeeper.connect zookeeper.set.acl zookeeper.ssl).

    Процедура

    CLI
    Веб-консоль
    # Обновить конфигурацию экземпляра
    kubectl -n <namespace> patch rdskafka <name> --type=merge --patch='{"spec": {"config": {"auto.create.topics.enable":"true"}}}'

    Описание поддержки параметров

    Parametertypologydescriptionsdefault valueselectable value
    auto.create.topics.enablebooleanВключить автоматическое создание топиков на сервереtrue
    auto.leader.rebalance.enablebooleanВключает автоматический баланс лидеров. Фоновый поток регулярно проверяет распределение лидеров партиций с интервалом, настраиваемым параметром leader.imbalance.check.interval.seconds. Если дисбаланс лидеров превышает leader.imbalance.per.broker.percentage, запускается перераспределение лидеров к предпочтительному лидеру для партиций.true
    background.threadsintКоличество потоков, используемых для различных фоновых задач10[1,...]
    compression.typestringУказывает конечный тип сжатия для данного топика. Эта настройка принимает стандартные кодеки сжатия ('gzip', 'snappy', 'lz4', 'zstd'). Дополнительно поддерживаются 'uncompressed' — без сжатия; и 'producer' — сохранять исходный кодек сжатия, установленный продюсером.producer
    delete.topic.enablebooleanВключает удаление топиков. Удаление топика через админ-инструмент не будет работать, если эта настройка отключенаtrue
    leader.imbalance.check.interval.secondslongЧастота срабатывания проверки перераспределения партиций контроллером300
    leader.imbalance.per.broker.percentageintДопустимое соотношение дисбаланса лидеров на брокер. Контроллер инициирует балансировку лидеров, если значение превышает этот процент для брокера. Значение указывается в процентах.10
    log.flush.interval.messageslongКоличество сообщений, накопленных в лог-партитиции, перед сбросом сообщений на диск9223372036854775807[1,...]
    log.flush.offset.checkpoint.interval.msintЧастота обновления постоянной записи последнего сброса, которая служит точкой восстановления лога60000[0,...]
    log.flush.scheduler.interval.mslongЧастота в миллисекундах, с которой планировщик сброса лога проверяет необходимость сброса лога на диск9223372036854775807
    log.flush.start.offset.checkpoint.interval.msintЧастота обновления постоянной записи начального смещения лога60000[0,...]
    log.retention.byteslongМаксимальный размер лога перед его удалением-1
    log.retention.hoursintКоличество часов хранения файла лога перед его удалением (в часах), вторично по отношению к свойству log.retention.ms168
    log.roll.hoursintМаксимальное время до создания нового сегмента лога (в часах), вторично по отношению к свойству log.roll.ms168[1,...]
    log.roll.jitter.hoursintМаксимальное случайное отклонение, вычитаемое из logRollTimeMillis (в часах), вторично по отношению к свойству log.roll.jitter.ms0[0,...]
    log.segment.bytesintМаксимальный размер одного файла лога1073741824[14,...]
    log.segment.delete.delay.mslongВремя ожидания перед удалением файла из файловой системы60000[0,...]
    message.max.bytesintМаксимальный размер пакета записей, разрешённый Kafka (после сжатия, если оно включено). Если увеличить это значение и есть потребители старше версии 0.10.2, размер выборки потребителей также должен быть увеличен, чтобы они могли получать такие большие пакеты. В последней версии формата сообщений записи всегда группируются в пакеты для эффективности. В предыдущих версиях формата несжатые записи не группировались, и это ограничение применялось только к одной записи. Можно задать для каждого топика с помощью параметра max.message.bytes на уровне топика.1048588[0,...]
    min.insync.replicasintПри установке продюсером параметра acks в "all" (или "-1") min.insync.replicas указывает минимальное количество реплик, которые должны подтвердить запись, чтобы она считалась успешной. Если это минимальное значение не достигается, продюсер выдаст исключение (NotEnoughReplicas или NotEnoughReplicasAfterAppend). Вместе min.insync.replicas и acks позволяют обеспечить более высокую гарантию надёжности. Типичный сценарий: создать топик с фактором репликации 3, установить min.insync.replicas в 2 и производить с acks "all". Это гарантирует, что продюсер выдаст исключение, если большинство реплик не получит запись.1[1,...]
    num.io.threadsintКоличество потоков, которые сервер использует для обработки запросов, включая операции ввода-вывода на диск8[1,...]
    num.network.threadsintКоличество потоков, которые сервер использует для приёма запросов из сети и отправки ответов3[1,...]
    num.recovery.threads.per.data.dirintКоличество потоков на каждый каталог данных, используемых для восстановления лога при запуске и сброса при завершении работы1[1,...]
    num.replica.fetchersintКоличество потоков выборки, используемых для репликации сообщений с исходного брокера. Увеличение этого значения может повысить степень параллелизма ввода-вывода у брокера-подписчика1
    offset.metadata.max.bytesintМаксимальный размер записи метаданных, связанной с коммитом смещения4096
    offsets.commit.required.acksshortТребуемые подтверждения перед принятием коммита. Обычно значение по умолчанию (-1) не следует переопределять-1
    offsets.commit.timeout.msintКоммит смещений будет задержан до тех пор, пока все реплики для топика смещений не получат коммит или не истечёт таймаут. Аналогично таймауту запроса продюсера.5000[1,...]
    offsets.load.buffer.sizeintРазмер пакета для чтения сегментов смещений при загрузке смещений в кэш (мягкий лимит, переопределяется, если записи слишком большие).5242880[1,...]
    offsets.retention.check.interval.mslongЧастота проверки устаревших смещений600000[1,...]
    offsets.retention.minutesintПосле того, как группа потребителей потеряет всех своих потребителей (т.е. станет пустой), её смещения будут храниться в течение этого периода, прежде чем быть удалёнными. Для автономных потребителей (с ручным назначением) смещения истекают после времени последнего коммита плюс этот период хранения.10080[1,...]
    offsets.topic.compression.codecintКодек сжатия для топика смещений — сжатие может использоваться для обеспечения "атомарных" коммитов0
    offsets.topic.num.partitionsintКоличество партиций для топика коммитов смещений (не должно изменяться после развертывания)50[1,...]
    offsets.topic.replication.factorshortФактор репликации для топика смещений (установите выше для обеспечения доступности). Создание внутреннего топика не удастся, пока размер кластера не достигнет этого требования по фактору репликации.3[1,...]
    offsets.topic.segment.bytesintРазмер сегмента топика смещений должен быть относительно небольшим для ускорения компактификации лога и загрузки кэша104857600[1,...]
    queued.max.requestsintМаксимальное количество запросов в очереди для data-plane до блокировки сетевых потоков500[1,...]
    quota.consumer.defaultlongУСТАРЕЛО: Используется только если динамические квоты по умолчанию не настроены или в Zookeeper. Любой потребитель, отличающийся clientId/группой потребителей, будет ограничен, если он получает больше байт, чем это значение в секунду9223372036854775807[1,...]
    quota.producer.defaultlongУСТАРЕЛО: Используется только если динамические квоты по умолчанию не настроены или в Zookeeper. Любой продюсер, отличающийся clientId, будет ограничен, если он производит больше байт, чем это значение в секунду9223372036854775807[1,...]
    replica.fetch.min.bytesintМинимальное количество байт, ожидаемое для каждого ответа выборки. Если байт недостаточно, ждать до replicaMaxWaitTimeMs1
    replica.fetch.wait.max.msintМаксимальное время ожидания для каждого запроса выборки, отправленного репликам-подписчикам. Это значение всегда должно быть меньше replica.lag.time.max.ms, чтобы предотвратить частое сокращение ISR для топиков с низкой пропускной способностью500
    replica.high.watermark.checkpoint.interval.mslongЧастота сохранения высокого водяного знака на диск5000
    replica.lag.time.max.mslongЕсли подписчик не отправлял запросы выборки или не потреблял до конца лога лидера в течение этого времени, лидер удалит подписчика из ISR30000
    replica.socket.receive.buffer.bytesintРазмер буфера приёма сокета для сетевых запросов65536
    replica.socket.timeout.msintТаймаут сокета для сетевых запросов. Значение должно быть не меньше replica.fetch.wait.max.ms30000
    request.timeout.msintМаксимальное время ожидания ответа клиента на запрос. Если ответ не получен до истечения таймаута, клиент повторит запрос при необходимости или завершит запрос при исчерпании попыток.30000
    socket.receive.buffer.bytesintБуфер SO_RCVBUF для серверных сокетов. Если значение -1, используется значение по умолчанию ОС.102400
    socket.request.max.bytesintМаксимальное количество байт в запросе сокета104857600[1,...]
    socket.send.buffer.bytesintБуфер SO_SNDBUF для серверных сокетов. Если значение -1, используется значение по умолчанию ОС.102400
    transaction.max.timeout.msintМаксимально допустимый таймаут для транзакций. Если запрошенное время транзакции клиента превышает это значение, брокер вернёт ошибку в InitProducerIdRequest. Это предотвращает слишком большой таймаут, который может блокировать потребителей, читающих из топиков, включённых в транзакцию.900000[1,...]
    transaction.state.log.load.buffer.sizeintРазмер пакета для чтения сегментов журнала транзакций при загрузке producer id и транзакций в кэш (мягкий лимит, переопределяется, если записи слишком большие).5242880[1,...]
    transaction.state.log.min.isrintПереопределённая настройка min.insync.replicas для топика транзакций.2[1,...]
    transaction.state.log.num.partitionsintКоличество партиций для топика транзакций (не должно изменяться после развертывания).50[1,...]
    transaction.state.log.replication.factorshortФактор репликации для топика транзакций (установите выше для обеспечения доступности). Создание внутреннего топика не удастся, пока размер кластера не достигнет этого требования по фактору репликации.3[1,...]
    transaction.state.log.segment.bytesintРазмер сегмента топика транзакций должен быть относительно небольшим для ускорения компактификации лога и загрузки кэша104857600[1,...]
    transactional.id.expiration.msintВремя в миллисекундах, в течение которого координатор транзакций будет ждать без получения обновлений статуса транзакции для текущей транзакции, прежде чем истечёт срок действия её transactional id. Эта настройка также влияет на истечение срока действия producer id — producer id истекают после истечения этого времени после последней записи с данным producer id. Обратите внимание, что producer id могут истечь раньше, если последняя запись с этим producer id удалена из-за настроек хранения топика.604800000[1,...]
    unclean.leader.election.enablebooleanУказывает, разрешено ли выбирать в качестве лидера реплики, не входящие в набор ISR, в крайнем случае, даже если это может привести к потере данныхfalse
    zookeeper.max.in.flight.requestsintМаксимальное количество неподтверждённых запросов, которые клиент может отправить в Zookeeper до блокировки.10[1,...]
    zookeeper.session.timeout.msintТаймаут сессии Zookeeper18000

    Для получения дополнительной информации о поддерживаемых параметрах перейдите на сайт Kafka.