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

    При создании экземпляра 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).

    Процедура

    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 ids и транзакций в кэш (мягкий лимит, переопределяется, если записи слишком большие).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 ids истекают после истечения этого времени после последней записи с данным producer id. Обратите внимание, что producer ids могут истекать раньше, если последняя запись producer id удалена из-за настроек удержания топика.604800000[1,...]
    unclean.leader.election.enablebooleanУказывает, разрешено ли выбирать в качестве лидера реплики, не входящие в набор ISR, в крайнем случае, даже если это может привести к потере данныхfalse

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