Перейти к содержимому
Последнее обновление

Конфигурация FE

В этом документе описаны параметры конфигурации FE.

Файл конфигурации FE fe.conf обычно находится в каталоге conf/ в директории развёртывания FE. В версии 0.14 появится ещё один файл конфигурации — fe_custom.conf. Он предназначен для хранения параметров, которые пользователь динамически настраивает и сохраняет во время работы.

После запуска процесс FE сначала считывает параметры из fe.conf, а затем из fe_custom.conf. Параметры из fe_custom.conf переопределяют одноимённые параметры из fe.conf.

Расположение файла fe_custom.conf можно задать в fe.conf с помощью параметра custom_config_dir.

Просмотр параметров конфигурации​

Просмотреть параметры конфигурации FE можно двумя способами:

  1. Веб-страница FE

    Откройте в браузере веб-страницу FE http://fe_host:fe_http_port/variable. Текущие действующие параметры конфигурации FE отображаются в разделе Configure Info.

  2. Просмотр с помощью команды

    После запуска FE можно просмотреть параметры его конфигурации в клиенте MySQL с помощью следующей команды. Подробное описание синтаксиса приведено в разделе SHOW-CONFIG:

    SHOW FRONTEND CONFIG;

    Столбцы результата имеют следующие значения:

    • Key: имя параметра конфигурации.
    • Value: текущее значение параметра конфигурации.
    • Type: тип значения параметра конфигурации, например целое число или строка.
    • IsMutable: возможность динамической настройки. Если значение равно true, параметр можно динамически настраивать во время работы. Если false, параметр можно задать только в fe.conf, и он вступит в силу после перезапуска FE.
    • MasterOnly: является ли параметр специфичным для узла Master FE. Значение true означает, что параметр имеет смысл только на узле Master FE и не имеет смысла на узлах FE других типов. Значение false означает, что параметр имеет смысл на узлах FE всех типов.
    • Comment: описание параметра конфигурации.

Настройка параметров конфигурации​

Начиная с версии 4.1.5, SHOW FRONTEND CONFIG и конечные точки экспорта конфигурации маскируют непустые конфиденциальные значения как ********. Это относится в том числе к initial_root_password, паролям закрытых ключей TLS, паролям HTTPS Key Store и паролям сертификатов MySQL SSL. Пустые значения остаются пустыми, показывая, что они не заданы. Маскирование не изменяет действующую конфигурацию.

Настроить параметры конфигурации FE можно двумя способами:

  1. Статическая настройка

    Добавьте параметры конфигурации и задайте их значения в файле conf/fe.conf. Параметры из fe.conf считываются при запуске процесса FE. Для параметров, отсутствующих в fe.conf, используются значения по умолчанию.

  2. Динамическая настройка по протоколу MySQL

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

    ADMIN SET FRONTEND CONFIG (" fe_config_name "=" fe_config_value ");

    Не все параметры поддерживают динамическую настройку. Проверить её поддержку можно по столбцу IsMutable в результате команды SHOW FRONTEND CONFIG;.

    При изменении параметра с признаком MasterOnly команда напрямую перенаправляется на Master FE, и изменяется только соответствующий параметр на Master FE.

    Изменения параметров, внесённые этим способом, перестают действовать после перезапуска процесса FE.

    Дополнительную справку по этой команде можно получить с помощью команды HELP ADMIN SET CONFIG;.

  3. Динамическая настройка по протоколу HTTP

    Подробности см. в разделе Действие Set Config.

    Этот способ также позволяет сохранять изменённые параметры конфигурации. Они записываются в файл fe_custom.conf и продолжают действовать после перезапуска FE.

Примеры​

  1. Изменение async_pending_load_task_pool_size

    С помощью SHOW FRONTEND CONFIG; можно увидеть, что этот параметр не поддерживает динамическую настройку (IsMutable имеет значение false). Необходимо добавить в fe.conf:

    async_pending_load_task_pool_size = 20

    Затем перезапустите процесс FE, чтобы настройка вступила в силу.

  2. Изменение dynamic_partition_enable

    С помощью SHOW FRONTEND CONFIG; можно увидеть, что этот параметр поддерживает динамическую настройку (IsMutable имеет значение true). Кроме того, он специфичен для Master FE. Для изменения конфигурации сначала подключитесь к любому FE и выполните следующую команду:

    ADMIN SET FRONTEND CONFIG ("dynamic_partition_enable" = "true"); `

    Затем можно просмотреть изменённое значение с помощью следующих команд:

    set forward_to_master = true;
    SHOW FRONTEND CONFIG;

    После изменения указанным способом настройка перестанет действовать при перезапуске Master FE или выборах нового Master. Чтобы сохранить параметр постоянно, добавьте его непосредственно в fe.conf и перезапустите FE.

  3. Изменение max_distribution_pruner_recursion_depth

    С помощью SHOW FRONTEND CONFIG; можно увидеть, что этот параметр поддерживает динамическую настройку (IsMutable имеет значение true). Он не является специфичным для Master FE.

    Аналогичным образом конфигурацию можно изменить командой динамической настройки. Поскольку этот параметр не является специфичным для Master FE, для его динамического изменения необходимо отдельно подключиться к каждому FE, чтобы все FE использовали изменённые значения.

Параметры конфигурации​

Метаданные и кластер​

meta_dir​

По умолчанию:DORIS_HOME_DIR + "/doris-meta"

Тип: string. Описание: здесь сохраняются метаданные Doris. Для хранения этого каталога настоятельно рекомендуется использовать накопители со следующими характеристиками:

  • Высокая производительность записи (SSD)
  • Надёжность (RAID)

catalog_try_lock_timeout_ms​

По умолчанию:5000 (ms)

IsMutable:true

Тайм-аут tryLock для блокировки Catalog. Обычно менять его не требуется, кроме случаев, когда нужно что-либо протестировать.

enable_bdbje_debug_mode​

По умолчанию:false

При значении true FE запускается в режиме отладки BDBJE.

max_bdbje_clock_delta_ms​

По умолчанию:5000 (5s)

Максимально допустимое расхождение часов между хостом FE, не являющегося Master, и хостом Master FE. Это значение проверяется каждый раз, когда FE, не являющийся Master, устанавливает соединение с Master FE через BDBJE. Если расхождение часов превышает это значение, соединение разрывается.

metadata_failure_recovery​

По умолчанию:false

При значении true FE сбрасывает группу репликации bdbje, то есть удаляет сведения обо всех узлах, участвующих в выборах, и должен запуститься как Master. Если ни один из узлов, участвующих в выборах, не может запуститься, можно скопировать метаданные на другой узел и установить для этого параметра значение true, чтобы попытаться перезапустить FE.

txn_rollback_limit​

По умолчанию:100

Максимальное число транзакций, которые bdbje может откатить при попытке повторно присоединиться к группе.

grpc_threadmgr_threads_nums​

По умолчанию: 4096

Число потоков для обработки событий grpc в grpc_threadmgr.

bdbje_replica_ack_timeout_second​

По умолчанию:10 (s)

Тайм-аут подтверждения реплики при записи в bdbje. При записи относительно больших журналов время ожидания подтверждения может истечь, что приводит к сбою записи журнала. В таком случае можно увеличить это значение.

bdbje_lock_timeout_second​

По умолчанию:5

Тайм-аут блокировки для операций bdbje. Если в журнале FE уровня WARN часто встречается LockTimeoutException, попробуйте увеличить это значение.

bdbje_heartbeat_timeout_second​

По умолчанию:30

Тайм-аут heartbeat bdbje между Master и Follower. По умолчанию составляет 30 секунд, что совпадает со значением по умолчанию в bdbje. При кратковременных сетевых проблемах или неожиданно длительных паузах Java GC можно увеличить это значение, чтобы снизить вероятность ложных тайм-аутов.

replica_ack_policy​

По умолчанию:SIMPLE_MAJORITY

Варианты: ALL, NONE, SIMPLE_MAJORITY

Политика подтверждения реплик bdbje. Подробнее см.: http://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/Durability.ReplicaAckPolicy.html

replica_sync_policy​

По умолчанию:SYNC

Варианты:SYNC, NO_SYNC, WRITE_NO_SYNC

Политика синхронизации bdbje для Follower FE.

master_sync_policy​

По умолчанию:SYNC

Варианты:SYNC, NO_SYNC, WRITE_NO_SYNC

Политика синхронизации bdbje для Master FE. Если развёрнут только один Follower FE, установите значение 'SYNC'. Если развёрнуто более 3 Follower FE, для этого параметра и параметра 'replica_sync_policy' можно установить WRITE_NO_SYNC. Подробнее см.: http://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/Durability.SyncPolicy.html

bdbje_reserved_disk_bytes​

Желаемый верхний предел объёма зарезервированного пространства, сохраняемого в реплицируемой среде JE, в байтах.

По умолчанию: 1073741824

Динамическая настройка: false

Только для узла Master FE: false

ignore_meta_check​

По умолчанию:false

IsMutable:true

При значении true FE, не являющийся Master, игнорирует отставание своих метаданных от Master FE, даже если оно превышает meta_delay_toleration_second. Такой FE продолжает обслуживать запросы на чтение. Это полезно, если по какой-либо причине нужно остановить Master FE на относительно длительное время, сохранив возможность чтения через остальные FE.

meta_delay_toleration_second​

По умолчанию: 300 (5 мин)

FE, не являющийся Master, прекращает обслуживание, если отставание метаданных превышает meta_delay_toleration_second.

edit_log_port​

По умолчанию:9010

Порт bdbje.

edit_log_type​

По умолчанию:BDB

Тип журнала изменений. BDB: запись журнала в bdbje. LOCAL: устарел.

edit_log_roll_num​

По умолчанию:50000

IsMutable:true

MasterOnly:true

Master FE сохраняет образ после каждых edit_log_roll_num записей журнала метаданных.

force_do_metadata_checkpoint​

По умолчанию:false

IsMutable:true

MasterOnly:true

При значении true поток создания контрольных точек создаёт контрольную точку независимо от процента использования памяти JVM.

metadata_checkpoint_memory_threshold​

По умолчанию:60 (60%)

IsMutable:true

MasterOnly:true

Если процент использования памяти JVM (heap или old mem pool) превышает этот порог, поток создания контрольных точек не выполняет работу, чтобы избежать OOM.

max_same_name_catalog_trash_num​

Задаёт максимальное число одноимённых объектов метаданных в корзине Catalog. При превышении этого значения самый ранее удалённый объект метаданных удаляется окончательно и не подлежит восстановлению. 0 означает, что одноимённые объекты не сохраняются. < 0 означает отсутствие ограничения.

Примечание: одноимённость метаданных проверяется в определённых пределах. Например, базы данных с одинаковыми именами учитываются в пределах одного кластера, таблицы с одинаковыми именами — в пределах одной базы данных (с одинаковым идентификатором базы данных), а секции с одинаковыми именами — в пределах одной базы данных (с одинаковым идентификатором базы данных) и одной таблицы (с одинаковым идентификатором таблицы).

По умолчанию: 3

Динамическая настройка: true

Только для узла Master FE: true

cluster_id​

По умолчанию:-1

Узлы (FE или BE) считаются принадлежащими одному кластеру Doris, если у них одинаковый идентификатор кластера. Обычно это случайное целое число, генерируемое при первом запуске Master FE. Его также можно задать вручную.

heartbeat_mgr_blocking_queue_size​

По умолчанию:1024

MasterOnly:true

Размер блокирующей очереди для хранения задач heartbeat в heartbeat_mgr.

heartbeat_mgr_threads_num​

По умолчанию:8

MasterOnly:true

Число потоков для обработки событий heartbeat в heartbeat_mgr.

disable_cluster_feature​

По умолчанию:true

IsMutable:true

Функция нескольких кластеров будет объявлена устаревшей в версии 0.12. Установка этого параметра в true отключает все связанные с ней операции, включая:

  1. Создание и удаление кластера.
  2. Добавление свободного Backend, добавление Backend в кластер, вывод узлов кластера из эксплуатации и балансировку.
  3. Изменение числа Backend в кластере.
  4. Связывание и миграцию баз данных.

enable_fqdn_mode​

Этот параметр в основном используется в среде кластера k8s. Если enable_fqdn_mode имеет значение true, имя pod, в котором находится BE, остаётся прежним после пересоздания, а IP-адрес может измениться.

По умолчанию: false

Динамическая настройка: false

Только для узла Master FE: true

enable_token_check​

По умолчанию:true

Параметр для совместимости с будущими версиями; позднее будет удалён. Включает проверку токена при скачивании файла образа.

fe_meta_auth_token​

По умолчанию: "" (пустая строка)

IsMutable: false

Токен кластера для аутентификации обращений между узлами FE к HTTP-конечным точкам службы метаданных FE (image, role, check, put, journal_id и т. д.). Добавлен в версии 4.0.8 линейки Doris 4.0 и в версии 4.1.4 линейки 4.1.

Если задано непустое значение, эти конечные точки в дополнение к существующей проверке хоста узла требуют от вызывающей стороны заголовок с совпадающим токеном. Это не позволяет узлам, не входящим в кластер, обращаться к конечным точкам метаданных FE. Пустое значение сохраняет прежнее поведение с проверкой только хоста узла, поэтому существующие кластеры и последовательные обновления не затрагиваются.

Примечание

Эта настройка должна быть одинаковой на всех FE и должна быть записана в fe.conf перед включением. Иначе FE будут отклонять запросы метаданных друг друга, и синхронизация метаданных завершится с ошибкой.

enable_multi_tags​

По умолчанию: false

Динамическая настройка: false

Только для узла Master FE: true

Включает поддержку нескольких тегов для одного BE.

initial_root_password​

Задаёт начальный пароль пользователя root, зашифрованный с помощью 2-этапного SHA-1. Значение по умолчанию — '', что означает отсутствие пароля root. Последующие операции set password для пользователя root переопределяют начальный пароль root.

Пример: если нужно задать пароль в открытом виде root@123, можно выполнить SQL-команду Doris select password('root@123'), чтобы получить зашифрованный пароль *A00C34073A26B40AB4307650BFB9309D6BFA6999.

По умолчанию: пустая строка

Динамическая настройка: false

Только для узла Master FE: true

enable_cooldown_replica_affinity​

Позволяет выбрать, следует ли в первую очередь использовать для сканирования реплику, перенесённую в холодное хранилище. По умолчанию включено.

По умолчанию: true

Динамическая настройка: true

Только для узла Master FE: false

Службы​

arrow_flight_deferred_query_idle_timeout_second​

По умолчанию: 3600 (секунд)

Динамическая настройка: true

Только для узла Master FE: false

Поддерживается с версии 4.1.5. Запрос Arrow Flight SQL, который сканирует внешние таблицы пакетами, должен сохранять свой FE Coordinator после возврата GetFlightInfo, чтобы BE могли продолжать получать части данных, когда клиент читает результаты через DoGet. Эта настройка ограничивает время, в течение которого такой запрос удерживает ресурсы в неактивном сеансе. Отсчёт начинается при запуске запроса, а период никогда не бывает короче тайм-аута выполнения запроса. По истечении срока освобождаются Coordinator, слот очереди Workload Group и запись active_queries, но сеанс остаётся открытым и по-прежнему регулируется wait_timeout. Установите 0, чтобы отключить это ограничение времени.

query_port​

По умолчанию:9030

Порт сервера MySQL на FE.

arrow_flight_sql_port​

По умолчанию:-1

Порт сервера Arrow Flight SQL.

frontend_address​

Статус: устарел, использование не рекомендуется. В дальнейшем параметр может быть удалён.

Тип: string

Описание: позволяет явно задать IP-адрес FE вместо его получения с помощью InetAddress.getByName. Обычно используется, когда InetAddress.getByName не даёт ожидаемого результата. Поддерживается только IP-адрес, имя хоста не поддерживается.

Значение по умолчанию: 0.0.0.0

priority_networks​

По умолчанию:none

Задаёт стратегию выбора для серверов с несколькими IP-адресами. Обратите внимание, что этому списку должен соответствовать не более чем один IP-адрес. Список записывается в формате CIDR с разделителем «точка с запятой», например 10.10.10.0/24. Если ни один IP-адрес не соответствует правилу, адрес выбирается случайным образом.

http_port​

По умолчанию:8030

Порт привязки HTTP. В настоящее время порты HTTP всех FE должны совпадать.

https_port​

По умолчанию:8050

Порт привязки HTTPS. В настоящее время порты HTTPS всех FE должны совпадать.

enable_https​

По умолчанию:false

Флаг включения HTTPS. Если значение равно false, поддерживается HTTP. Иначе поддерживаются и HTTP, и HTTPS, а HTTP-запросы автоматически перенаправляются на HTTPS. Если enable_https имеет значение true, необходимо указать сведения о сертификате SSL в fe.conf.

enable_ssl​

По умолчанию:true

При значении true Doris устанавливает с MySQL зашифрованный канал на основе протокола SSL.

qe_max_connection​

По умолчанию:1024

Максимальное число соединений на один FE.

check_java_version​

По умолчанию:true

Doris проверяет совместимость версий Java, используемых для компиляции и выполнения. При несовместимости выводится сообщение об исключении из-за несовпадения версий Java, и запуск прекращается.

rpc_port​

По умолчанию:9020

Порт сервера Thrift на FE.

thrift_server_type​

Этот параметр задаёт модель обслуживания, используемую службой Thrift на FE. Имеет тип String и не учитывает регистр.

Если значение равно 'SIMPLE', используется модель 'TSimpleServer', которая обычно не подходит для производственной среды и предназначена только для тестирования.

Если значение равно 'THREADED', используется модель 'TThreadedSelectorServer' — модель неблокирующего ввода-вывода, а именно master-slave Reactor. Она позволяет своевременно обрабатывать большое число одновременных запросов на соединение и хорошо работает в большинстве сценариев.

Если значение равно THREAD_POOL, используется модель TThreadPoolServer с блокирующим вводом-выводом. Для обработки пользовательских соединений применяется пул потоков, а число одновременных соединений ограничено числом потоков в пуле. Если число одновременных запросов можно оценить заранее и допустим достаточный расход ресурсов на потоки, эта модель обеспечивает лучшую производительность. Она используется по умолчанию.

thrift_server_max_worker_threads​

По умолчанию:4096

Максимальное число рабочих потоков сервера Thrift.

thrift_backlog_num​

По умолчанию:1024

Значение backlog_num для сервера Thrift. При увеличении backlog_num убедитесь, что оно больше значения настройки Linux /proc/sys/net/core/somaxconn.

thrift_client_timeout_ms​

По умолчанию:0

Настройка тайм-аута соединения и тайм-аута сокета для сервера Thrift.

Для thrift_client_timeout_ms устанавливается нулевое значение, чтобы предотвратить тайм-аут чтения.

thrift_max_message_size​

По умолчанию: 100MB

Максимальный размер принимаемого сообщения сервера Thrift в байтах. Если размер сообщения, отправленного клиентом, превышает это ограничение, сервер Thrift отклоняет запрос и закрывает соединение. В результате клиент получает ошибку: «connection has been closed by peer». В таком случае можно попробовать увеличить этот параметр.

use_compact_thrift_rpc​

По умолчанию: true

Определяет, следует ли использовать сжатый формат для передачи структуры плана запроса. После включения размер структуры плана запроса может уменьшиться примерно на 50%, что позволяет избежать некоторых ошибок «send fragment timeout». Однако в некоторых сценариях с большим числом одновременных коротких запросов параллелизм может снизиться примерно на 10%.

grpc_max_message_size_bytes​

По умолчанию:1G

Задаёт начальный размер окна управления потоком канала клиента GRPC, а также максимальный размер сообщения. При большом наборе результатов может потребоваться увеличить это значение.

max_mysql_service_task_threads_num​

По умолчанию:4096

Число потоков, отвечающих за события Task.

mysql_service_io_threads_num​

По умолчанию:4

Число потоков, отвечающих за события ввода-вывода, когда FE запускает сервер MySQL на основе модели NIO.

mysql_nio_backlog_num​

По умолчанию:1024

Значение backlog_num для сервера MySQL NIO. При увеличении backlog_num следует одновременно увеличить значение в файле Linux /proc/sys/net/core/somaxconn.

broker_timeout_ms​

По умолчанию:10000 (10s)

Тайм-аут RPC Broker по умолчанию.

backend_rpc_timeout_ms​

Тайм-аут отправки RPC-запроса от FE к BE в миллисекундах.

По умолчанию: 60000

Динамическая настройка: false

Только для узла Master FE: true

drop_backend_after_decommission​

По умолчанию:false

IsMutable:true

MasterOnly:true

  1. Этот параметр определяет, удаляет ли система BE после его успешного вывода из эксплуатации. При значении true узел BE удаляется после успешного вывода из эксплуатации. При значении false BE остаётся в состоянии DECOMMISSION, но не удаляется.

    Эта настройка полезна в некоторых сценариях. Предположим, что изначально в кластере Doris у каждого узла BE был один диск. Через некоторое время система была вертикально масштабирована: на каждый узел BE добавили 2 новых диска. Поскольку Doris в настоящее время не поддерживает балансировку данных между дисками внутри BE, объём данных на исходном диске может постоянно оставаться значительно больше, чем на новых дисках. В этом случае можно вручную сбалансировать данные между дисками следующим образом:

    1. Установите для параметра значение false.
    2. Выполните вывод из эксплуатации определённого узла BE. Эта операция перенесёт все данные с BE на другие узлы.
    3. После завершения вывода из эксплуатации BE не будет удалён. Отмените состояние вывода из эксплуатации для этого BE. После этого данные начнут перераспределяться с других узлов BE обратно на этот узел и будут равномерно распределены по всем его дискам.
    4. Последовательно выполните шаги 2 и 3 для всех узлов BE, чтобы сбалансировать данные на дисках всех узлов.

max_backend_down_time_second​

По умолчанию: 3600 (1 час)

IsMutable:true

MasterOnly:true

Если Backend недоступен в течение max_backend_down_time_second, создаётся событие BACKEND_DOWN.

disable_backend_black_list​

Отключает функцию чёрного списка BE. После её отключения при сбое запроса к BE этот BE не добавляется в чёрный список. Параметр подходит для сред регрессионного тестирования, позволяя уменьшить число массовых сбоев регрессионных тестов из-за случайных ошибок.

По умолчанию: false

Динамическая настройка: true

Только для узла Master FE: false

max_backend_heartbeat_failure_tolerance_count​

Максимально допустимое число сбоев heartbeat узла BE. Если число последовательных сбоев heartbeat превышает это значение, BE переводится в состояние dead. Параметр подходит для сред регрессионного тестирования и позволяет уменьшить число массовых сбоев регрессионных тестов из-за случайных сбоев heartbeat.

По умолчанию: 1

Динамическая настройка: true

Только для узла Master FE: true

abort_txn_after_lost_heartbeat_time_second​

Время до прерывания транзакций после потери heartbeat. Значение по умолчанию — 300, то есть транзакции BE прерываются через 300s после потери heartbeat.

По умолчанию: 300(s)

Динамическая настройка: true

Только для узла Master FE: true

enable_access_file_without_broker​

По умолчанию:false

IsMutable:true

MasterOnly:true

Этот параметр позволяет попытаться обойти Broker при доступе к BOS или другому облачному хранилищу через Broker.

agent_task_resend_wait_time_ms​

По умолчанию:5000

IsMutable:true

MasterOnly:true

Этот параметр определяет возможность повторной отправки задачи Agent, если для agent_task задано create_time. ReportHandler может повторно отправить задачу Agent только при условии current_time - create_time > agent_task_resend_wait_time_ms.

В настоящее время параметр в основном используется для решения проблемы повторной отправки задач Agent PUBLISH_VERSION. Текущее значение по умолчанию, 5000, является экспериментальным.

Поскольку между помещением задач Agent в AgentTaskQueue и их отправкой на BE существует определённая задержка, увеличение этого значения позволяет эффективно решить проблему повторной отправки задач Agent.

Однако при этом увеличивается время до повторного выполнения задач Agent, которые не удалось отправить или выполнить.

max_agent_task_threads_num​

По умолчанию:4096

MasterOnly:true

Максимальное число потоков для обработки задач Agent в пуле потоков задач Agent.

remote_fragment_exec_timeout_ms​

По умолчанию:30000 (ms)

IsMutable:true

Тайм-аут выполнения асинхронного удалённого фрагмента. Обычно такой фрагмент выполняется за короткое время. При высокой нагрузке на систему попробуйте увеличить этот тайм-аут.

auth_token​

По умолчанию:пусто

Токен кластера для внутренней аутентификации.

enable_http_server_v2​

По умолчанию: true после официального выпуска версии 0.14.0, до этого — false.

HTTP Server V2 реализован на SpringBoot и использует архитектуру с разделением клиентской и серверной частей. Новый пользовательский веб-интерфейс доступен только при включённом HTTPv2.

http_api_extra_base_path​

В некоторых средах развёртывания требуется указать дополнительный базовый путь как общий префикс HTTP API. Этот параметр позволяет задать такой префикс. После настройки значение параметра можно получить через интерфейс GET /api/basepath. Новый интерфейс также сначала попытается получить этот базовый путь для формирования URL. Параметр действует только при значении true у enable_http_server_v2.

По умолчанию значение пустое, то есть путь не задан.

jetty_server_acceptors​

По умолчанию:2

jetty_server_selectors​

По умолчанию:4

jetty_server_workers​

По умолчанию:0

Эти три параметра задают простую модель потоков Jetty, состоящую из трёх пулов: acceptors, selectors и workers. Потоки acceptors принимают новые соединения и передают их потокам selectors для разбора HTTP-сообщений, после чего потоки workers обрабатывают запросы. Первые два пула используют неблокирующую модель: один поток может обслуживать чтение и запись множества сокетов, поэтому число потоков в этих пулах невелико.

Для большинства проектов достаточно 1-2 потоков acceptors и от 2 до 4 потоков selectors. Потоки workers выполняют блокирующую бизнес-логику, часто с большим числом операций с базой данных, поэтому их требуется больше. Конкретное число зависит от QPS и доли операций ввода-вывода в приложении. Чем выше QPS, тем больше нужно потоков; чем выше доля ввода-вывода, тем больше потоков ожидает его завершения и тем больше потоков требуется в целом.

По умолчанию размер пула workers не задан; настройте его по потребности.

jetty_server_max_http_post_size​

По умолчанию:100 * 1024 * 1024 (100MB)

Максимальное число байтов в файле, загружаемом методом put или post. Значение по умолчанию: 100MB.

jetty_server_max_http_header_size​

По умолчанию:1048576 (1M)

Параметр размера HTTP-заголовка. Значение по умолчанию — 1M.

http_sql_submitter_max_worker_threads​

По умолчанию:2

Максимальное число рабочих потоков компонента отправки SQL по HTTP.

http_load_submitter_max_worker_threads​

По умолчанию:2

Максимальное число рабочих потоков компонента загрузки по HTTP.

Изменение поведения (4.1.4)

Конечные точки /api/upload удалены в версии 4.1.4, и этот параметр конфигурации удалён вместе с ними. См. Действие Upload.

Движок запросов​

default_max_query_instances​

Значение по умолчанию, используемое, когда свойство пользователя max_query_instances меньше или равно 0. Этот параметр ограничивает максимальное число экземпляров для пользователя. Значение меньше или равно 0 означает отсутствие ограничения.

Значение по умолчанию — -1.

max_query_retry_time​

По умолчанию:3

IsMutable:true

Число повторных попыток выполнения запроса. Запрос может быть выполнен повторно, если возникло исключение RPC и пользователю ещё не отправлен результат. Это число можно уменьшить, чтобы избежать лавинообразных сбоев.

max_dynamic_partition_num​

По умолчанию:500

IsMutable:true

MasterOnly:true

Ограничивает максимальное число секций, создаваемых при создании таблицы с динамическим секционированием, чтобы избежать одновременного создания слишком большого числа секций. Число определяется параметрами "start" и "end" динамического секционирования.

dynamic_partition_enable​

По умолчанию:true

IsMutable:true

MasterOnly:true

Включает планировщик динамических секций. По умолчанию включён.

dynamic_partition_check_interval_seconds​

По умолчанию:600 (s)

IsMutable:true

MasterOnly:true

Определяет частоту проверки динамических секций.

max_multi_partition_num​

По умолчанию:4096

IsMutable:true

MasterOnly:true

Задаёт префикс имён секций при множественном создании секций. Действует только при множественном создании секций и не влияет на динамические секции. Префикс по умолчанию — "p_".

multi_partition_name_prefix​

По умолчанию:p_

IsMutable:true

MasterOnly:true

Задаёт префикс имён секций при множественном создании секций. Действует только при множественном создании секций и не влияет на динамические секции. Префикс по умолчанию — "p_".

partition_in_memory_update_interval_secs​

По умолчанию:300 (s)

IsMutable:true

MasterOnly:true

Интервал обновления глобальной информации о секциях в памяти.

enable_concurrent_update​

По умолчанию:false

IsMutable:false

MasterOnly:true

Включает параллельное обновление.

lower_case_table_names​

По умолчанию:0

IsMutable:false

MasterOnly:true

Этот параметр можно задать только при инициализации кластера. После завершения инициализации его нельзя изменить при перезапуске или обновлении кластера.

0: имена таблиц сохраняются в заданном виде, сравнение учитывает регистр. 1: имена таблиц сохраняются в нижнем регистре, сравнение не учитывает регистр. 2: имена таблиц сохраняются в заданном виде, но сравниваются в нижнем регистре.

table_name_length_limit​

По умолчанию:64

IsMutable:true

MasterOnly:true

Ограничивает максимальную длину имени таблицы.

cache_enable_sql_mode​

По умолчанию:true

IsMutable:true

MasterOnly:false

Если этот переключатель включён, набор результатов SQL-запроса кэшируется. Кэширование выполняется, если интервал с момента последнего обновления версии во всех секциях всех таблиц запроса превышает cache_last_version_interval_second, число строк результата меньше cache_result_max_row_count, а объём данных меньше cache_result_max_data_size. Следующий такой же SQL-запрос использует кэш.

При значении true FE включает кэширование результатов SQL. Этот вариант подходит для сценариев с офлайн-обновлением данных.

Случай 1Случай 2Случай 3Случай 4
enable_sql_cachefalsetruetruefalse
enable_partition_cachefalsefalsetruetrue

cache_enable_partition_mode​

По умолчанию:true

IsMutable:true

MasterOnly:false

При значении true FE получает данные из кэша BE. Этот вариант подходит для обновления отдельных секций в реальном времени.

cache_result_max_row_count​

По умолчанию:3000

IsMutable:true

MasterOnly:false

Чтобы избежать чрезмерного использования памяти, максимальное число кэшируемых строк по умолчанию составляет 3000. При превышении этого порога результат не кэшируется.

cache_result_max_data_size​

По умолчанию: 31457280

IsMutable: true

MasterOnly: false

Чтобы избежать чрезмерного использования памяти, максимальный объём кэшируемых строк по умолчанию составляет 10MB. При превышении этого порога результат не кэшируется.

cache_last_version_interval_second​

По умолчанию:30

IsMutable:true

MasterOnly:false

Интервал для последней версии секции таблицы — это время между обновлением данных и текущей версией. Обычно устанавливается значение 900 секунд, позволяющее различать офлайн-загрузку и загрузку в реальном времени.

max_allowed_in_element_num_of_delete​

По умолчанию:1024

IsMutable:true

MasterOnly:true

Ограничивает число элементов InPredicate в операторе delete.

max_running_rollup_job_num_per_table​

По умолчанию:1

IsMutable:true

MasterOnly:true

Ограничивает число одновременно выполняемых заданий Rollup.

max_distribution_pruner_recursion_depth​

По умолчанию:100

IsMutable:true

MasterOnly:false

Ограничивает максимальную глубину рекурсии механизма отсечения по хеш-распределению. Например: where a in (5 элементов) and b in (4 элемента) and c in (3 элемента) and d in (2 элемента). a/b/c/d — столбцы распределения, поэтому глубина рекурсии составит 5 4 3 * 2 = 120, что больше 100. В результате отсечение по распределению не выполняется, и возвращаются все бакеты. Увеличение глубины позволяет выполнять отсечение по распределению для большего числа элементов, но может увеличить расход CPU.

enable_local_replica_selection​

По умолчанию:false

IsMutable:true

При значении true Planner пытается выбрать реплику tablet на том же хосте, что и этот Frontend. Это может уменьшить сетевой трафик в следующем случае:

  • На N хостах развёрнуты N Backend и N Frontend.

  • Данные имеют N реплик.

  • Большое число одновременных запросов равномерно направляется на все Frontend.

В этом случае все Frontend могут выполнять запросы, используя только локальные реплики. Чтобы разрешить переход к нелокальным репликам при отсутствии доступных локальных реплик, установите enable_local_replica_selection_fallback в true.

enable_local_replica_selection_fallback​

По умолчанию:false

IsMutable:true

Используется вместе с enable_local_replica_selection. Разрешает переход к нелокальным репликам, если локальные реплики недоступны.

expr_depth_limit​

По умолчанию:3000

IsMutable:true

Ограничение глубины дерева выражения. Превышение этого значения может привести к длительному анализу с удержанием блокировки чтения базы данных. Изменяйте параметр только при понимании последствий.

expr_children_limit​

По умолчанию:10000

IsMutable:true

Ограничение числа дочерних элементов в дереве выражения. Превышение этого значения может привести к длительному анализу с удержанием блокировки чтения базы данных.

be_exec_version​

Определяет формат сериализации блоков, передаваемых между фрагментами.

Иногда изменения кода меняют формат данных блока. Чтобы BE оставались совместимыми друг с другом при последовательном обновлении, FE должен передавать версию данных, определяющую формат их отправки.

Например, в кластере есть 2 BE. Один из них после обновления поддерживает последнюю версию v1v_1, а другой — только v0v_0. Поскольку FE ещё не обновлён, всем передаётся v0.v_0. , и BE обмениваются данными в старом формате. После обновления всех BE обновляется FE. Новый FE передаёт v1v_1, и весь кластер переходит на новый формат данных.

Значение по умолчанию — max_be_exec_version. При особых требованиях можно вручную задать более раннюю версию формата, но она не должна быть ниже min_be_exec_version.

Значение этой переменной всегда должно находиться между BeExecVersionManager::min_be_exec_version и BeExecVersionManager::max_be_exec_version для всех BE. Иными словами, если полностью обновлённый кластер нужно понизить до более ранней версии, сначала следует понизить версию FE, а затем BE, либо вручную уменьшить значение переменной в настройках и затем понизить версию BE.

max_be_exec_version​

Последняя поддерживаемая версия данных. Не может быть изменена и должна совпадать с BeExecVersionManager::max_be_exec_version в BE соответствующей версии.

min_be_exec_version​

Самая ранняя поддерживаемая версия данных. Не может быть изменена и должна совпадать с BeExecVersionManager::min_be_exec_version в BE соответствующей версии.

max_query_profile_num​

Максимальное число профилей запросов.

По умолчанию: 100

Динамическая настройка: true

Только для узла Master FE: false

publish_version_interval_ms​

По умолчанию:10 (ms)

Минимальный интервал между двумя операциями публикации версии.

publish_version_timeout_second​

По умолчанию:30 (s)

IsMutable:true

MasterOnly:true

Максимальное время ожидания завершения всех задач публикации версии для одной транзакции.

query_colocate_join_memory_limit_penalty_factor​

По умолчанию:1

IsMutable:true

MasterOnly:true

Для экземпляра PlanFragment операции Colocate Join: memory_limit = exec_mem_limit / min (query_colocate_join_memory_limit_penalty_factor, instance_num).

rewrite_count_distinct_to_bitmap_hll​

По умолчанию: true

Это переменная сеанса, действующая на уровне сеанса.

  • Тип: boolean
  • Описание: Только для таблиц модели AGG. Если переменная равна true и запрос пользователя содержит агрегатные функции, например count(distinct c1), то при типе bitmap у столбца c1 выражение count distinct переписывается в bitmap_union_count(c1). Если столбец c1 имеет тип hll, count distinct переписывается в hll_union_agg(c1). При значении false переписывание не выполняется.

Загрузка и экспорт​

streaming_cdc_fetch_splits_batch_size​

По умолчанию: 16 (100 до 4.1.5)

Динамическая настройка: true

Только для узла Master FE: true

Число частей данных, получаемых одним запросом Streaming CDC. В версии 4.1.5 значение по умолчанию уменьшено со 100 до 16, чтобы сократить размер каждого запроса.

max_export_history_job_num​

По умолчанию: 1000

Динамическая настройка: true

Только для узла Master FE: true

Порог очистки истории заданий EXPORT. Начиная с версии 4.1.5, очистка удаляет только задания в состояниях FINISHED / CANCELLED и сохраняет выполняющиеся задания, поэтому из-за активных заданий общее число записей может превышать это значение.

enable_pipeline_load​

Значение по умолчанию: true

IsMutable: true

Определяет, следует ли использовать движок Pipeline для выполнения заданий загрузки, таких как Streamload.

enable_vectorized_load​

По умолчанию: true

Включает векторизованную загрузку.

enable_new_load_scan_node​

По умолчанию: true

Включает узел сканирования файлов.

default_max_filter_ratio​

По умолчанию:0

IsMutable:true

MasterOnly:true

Максимальная доля данных, которые могут быть отфильтрованы, например из-за некорректного формата. Значение по умолчанию — 0.

max_running_txn_num_per_db​

По умолчанию:1000

IsMutable:true

MasterOnly:true

Этот параметр в основном ограничивает число одновременно выполняемых заданий загрузки в одной базе данных.

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

current running txns on db xxx is xx, larger than limit xx

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

Если используется Connector, значение этого параметра можно увеличить; допустимы значения в несколько тысяч.

using_old_load_usage_pattern​

По умолчанию:false

IsMutable:true

MasterOnly:true

При значении true оператор insert возвращает пользователю метку даже при ошибке обработки. По этой метке пользователь может проверить состояние задания загрузки. Значение по умолчанию — false: если при выполнении insert возникает ошибка, исключение напрямую возвращается клиенту пользователя без метки загрузки.

disable_load_job​

По умолчанию:false

IsMutable:true

MasterOnly:true

Если установлено значение true:

  • Все ожидающие задания загрузки завершаются с ошибкой при вызове API begin txn.
  • Все подготовленные задания загрузки завершаются с ошибкой при вызове API commit txn.
  • Все зафиксированные задания загрузки остаются в ожидании публикации.

commit_timeout_second​

По умолчанию:30

IsMutable:true

MasterOnly:true

Максимальное время ожидания завершения вставки всех данных перед фиксацией транзакции. Это тайм-аут команды "commit" в секундах.

max_unfinished_load_job​

По умолчанию:1000

IsMutable:true

MasterOnly:true

Максимальное число заданий загрузки, включая PENDING, ETL, LOADING и QUORUM_FINISHED. При превышении этого числа отправка новых заданий загрузки запрещена.

db_used_data_quota_update_interval_secs​

По умолчанию:300 (s)

IsMutable:true

MasterOnly:true

Фоновый поток Master обновляет сведения об использованном объёме данных базы данных для её менеджера транзакций каждые db_used_data_quota_update_interval_secs.

Для повышения производительности загрузки при проверке превышения квоты перед загрузкой данных использованный объём базы данных не вычисляется в реальном времени. Вместо этого используется значение, периодически обновляемое фоновым потоком.

Этот параметр задаёт интервал обновления значения использованного объёма данных базы данных.

disable_show_stream_load​

По умолчанию:false

IsMutable:true

MasterOnly:true

Отключает show stream load и очищает записи Stream Load в памяти.

max_stream_load_record_size​

По умолчанию:5000

IsMutable:true

MasterOnly:true

Максимальное число последних записей Stream Load, которые по умолчанию могут храниться в памяти.

fetch_stream_load_record_interval_second​

По умолчанию:120

IsMutable:true

MasterOnly:true

Интервал получения записей Stream Load.

max_bytes_per_broker_scanner​

По умолчанию:500 * 1024 * 1024 * 1024L (500G)

IsMutable:true

MasterOnly:true

Максимальное число байтов, которое один сканер Broker может обработать в одном задании Broker Load. Обычно на каждом Backend работает один сканер Broker.

default_load_parallelism​

По умолчанию: 8

IsMutable:true

MasterOnly:true

Параллелизм плана выполнения Broker Load на одном узле по умолчанию. Если пользователь задаёт параллелизм при отправке задания Broker Load, этот параметр игнорируется. Этот параметр определяет параллелизм заданий загрузки совместно с другими настройками, такими как max broker concurrency и min bytes per broker scanner.

max_broker_concurrency​

По умолчанию:10

IsMutable:true

MasterOnly:true

Максимальное число одновременно работающих сканеров Broker.

min_bytes_per_broker_scanner​

По умолчанию:67108864L (64M)

IsMutable:true

MasterOnly:true

Минимальное число байтов, считываемых одним сканером Broker.

period_of_auto_resume_min​

По умолчанию:5 (s)

IsMutable:true

MasterOnly:true

Интервал автоматического возобновления Routine Load.

max_tolerable_backend_down_num​

По умолчанию:0

IsMutable:true

MasterOnly:true

Если хотя бы один BE недоступен, Routine Load не может быть возобновлён автоматически.

max_routine_load_task_num_per_be​

По умолчанию:5

IsMutable:true

MasterOnly:true

Максимальное число одновременно выполняемых задач Routine Load на одном BE. Ограничивает число задач Routine Load, отправляемых на BE, и также должно быть меньше значения параметра BE 'routine_load_thread_pool_size' (по умолчанию 10), задающего размер пула потоков задач Routine Load на BE.

max_routine_load_task_concurrent_num​

По умолчанию:5

IsMutable:true

MasterOnly:true

Максимальное число одновременно выполняемых задач в одном задании Routine Load.

max_routine_load_job_num​

По умолчанию:100

Максимальное число заданий Routine Load, включая NEED_SCHEDULED, RUNNING и PAUSE.

desired_max_waiting_jobs​

По умолчанию:100

IsMutable:true

MasterOnly:true

Число ожидающих заданий Routine Load и загрузки версии 2 по умолчанию. Это целевое число. В некоторых ситуациях, например при смене Master, текущее число может превышать desired_max_waiting_jobs.

disable_hadoop_load​

По умолчанию:false

IsMutable:true

MasterOnly:true

Загрузка с использованием кластера Hadoop в будущем будет объявлена устаревшей. Установите true, чтобы отключить этот тип загрузки.

enable_spark_load​

По умолчанию:false

IsMutable:true

MasterOnly:true

Позволяет временно включить Spark Load. По умолчанию не включён.

Примечание: этот параметр удалён в версии 1.2; spark_load включён по умолчанию.

spark_load_checker_interval_second​

По умолчанию:60

Интервал запуска планировщика Spark Load, по умолчанию 60 секунд.

async_loading_load_task_pool_size​

По умолчанию:10

IsMutable:false

MasterOnly:true

Размер пула исполнителей задач loading_load. Он ограничивает максимальное число одновременно выполняемых задач loading_load.

В настоящее время ограничивает только задачи loading_load для Broker Load.

async_pending_load_task_pool_size​

По умолчанию:10

IsMutable:false

MasterOnly:true

Размер пула исполнителей задач pending_load. Он ограничивает максимальное число одновременно выполняемых задач pending_load.

В настоящее время ограничивает только задачи pending_load для Broker Load и Spark Load.

Значение должно быть меньше 'max_running_txn_num_per_db'.

async_load_task_pool_size​

По умолчанию:10

IsMutable:false

MasterOnly:true

Этот параметр предназначен только для совместимости со старыми версиями. Он заменён параметром async_loading_load_task_pool_size и в будущем будет удалён.

enable_single_replica_load​

По умолчанию:false

IsMutable:true

MasterOnly:true

Включает запись в одну реплику для Stream Load и Broker Load.

min_load_timeout_second​

По умолчанию:1 (1s)

IsMutable:true

MasterOnly:true

Минимальный тайм-аут Stream Load, применяемый ко всем типам загрузки.

max_stream_load_timeout_second​

По умолчанию: 259200 (3 дня)

IsMutable:true

MasterOnly:true

Этот параметр специально ограничивает настройку тайм-аута Stream Load. Он предотвращает ситуацию, когда неудачные транзакции Stream Load невозможно быстро отменить из-за слишком большого тайм-аута, заданного пользователем.

max_load_timeout_second​

По умолчанию: 259200 (3 дня)

IsMutable:true

MasterOnly:true

Максимальный тайм-аут загрузки для всех типов загрузки, кроме Stream Load.

stream_load_default_timeout_second​

По умолчанию: 86400 * 3 (3 дня)

IsMutable:true

MasterOnly:true

Тайм-аут Stream Load и потокового Mini Load по умолчанию.

stream_load_default_precommit_timeout_second​

По умолчанию:3600(s)

IsMutable:true

MasterOnly:true

Тайм-аут предварительной отправки Stream Load по умолчанию.

stream_load_default_memtable_on_sink_node​

По умолчанию:false

IsMutable:true

MasterOnly:true

Включает memtable на узле sink для Stream Load по умолчанию, если HTTP-заголовок memtable_on_sink_node не задан.

insert_load_default_timeout_second​

По умолчанию: 3600 (1 час)

IsMutable:true

MasterOnly:true

Тайм-аут Insert Load по умолчанию.

mini_load_default_timeout_second​

По умолчанию: 3600 (1 час)

IsMutable:true

MasterOnly:true

Тайм-аут непотокового Mini Load по умолчанию.

broker_load_default_timeout_second​

По умолчанию: 14400 (4 часа)

IsMutable:true

MasterOnly:true

Тайм-аут Broker Load по умолчанию.

spark_load_default_timeout_second​

По умолчанию: 86400 (1 день)

IsMutable:true

MasterOnly:true

Тайм-аут Spark Load по умолчанию.

hadoop_load_default_timeout_second​

По умолчанию: 86400 * 3 (3 дня)

IsMutable:true

MasterOnly:true

Тайм-аут Hadoop Load по умолчанию.

load_running_job_num_limit​

По умолчанию:0

IsMutable:true

MasterOnly:true

Ограничивает число выполняющихся задач загрузки. Значение по умолчанию — 0, без ограничения.

load_input_size_limit_gb​

По умолчанию:0

IsMutable:true

MasterOnly:true

Ограничивает объём входных данных задания Load. Значение по умолчанию — 0, без ограничения.

load_etl_thread_num_normal_priority​

По умолчанию:10

Число одновременно выполняемых заданий загрузки ETL с приоритетом NORMAL. Изменяйте параметр только при понимании последствий.

load_etl_thread_num_high_priority​

По умолчанию:3

Число одновременно выполняемых заданий загрузки ETL с приоритетом HIGH. Изменяйте параметр только при понимании последствий.

load_pending_thread_num_normal_priority​

По умолчанию:10

Число одновременно обрабатываемых ожидающих заданий загрузки с приоритетом NORMAL. Изменяйте параметр только при понимании последствий.

load_pending_thread_num_high_priority​

По умолчанию:3

Число одновременно обрабатываемых ожидающих заданий загрузки с приоритетом HIGH. Приоритет задания загрузки может быть HIGH или NORMAL. Все задания загрузки Mini Batch имеют приоритет HIGH, остальные типы заданий загрузки — NORMAL. Приоритеты используются, чтобы медленное задание загрузки не занимало поток надолго. Это внутренняя оптимизированная политика планирования. В настоящее время приоритет задания нельзя задать вручную. Изменяйте параметр только при понимании последствий.

load_checker_interval_second​

По умолчанию:5 (s)

Интервал запуска планировщика загрузки. Задание загрузки последовательно переходит из PENDING в LOADING и затем в FINISHED. Планировщик переводит задание из PENDING в LOADING, а обработчик обратного вызова транзакции — из LOADING в FINISHED. Поэтому, если верхний предел параллелизма не достигнут, задание загрузки завершается максимум за один интервал.

s3_load_endpoint_white_list​

По умолчанию: пусто

Динамическая настройка: false

Белый список конечных точек, разрешённых для S3 Load. Несколько значений разделяются запятыми, например s3_load_endpoint_white_list=a,b,c. Пустое значение означает, что белый список не задан.

Изменение поведения (4.1.4)

Из соображений безопасности, начиная с версии 4.1.4 этот параметр больше нельзя изменять динамически. Его можно задать только в fe.conf, и он вступает в силу после перезапуска FE; изменить его с помощью ADMIN SET FRONTEND CONFIG больше нельзя.

resource_group_load_success_quorum​

По умолчанию: пусто

Динамическая настройка: true

Только для узла Master FE: true

Добавлен в версии 4.1.4. Задаёт для каждой группы ресурсов, то есть Location Tag узлов BE, минимальное число реплик, которые должны быть успешно записаны в этой группе при фиксации транзакции загрузки.

Значение представляет собой список, разделённый запятыми, каждый элемент которого имеет формат <resource_group>:<min_success_replicas>, где <min_success_replicas> — неотрицательное целое число. Например:

resource_group_load_success_quorum=group_a:2,group_b:1

Если при фиксации транзакции число успешно записанных реплик в настроенной группе ресурсов меньше заданного значения, транзакция не фиксируется. Группы ресурсов, отсутствующие в конфигурации, не проверяются. Элементы с неверным форматом игнорируются, а в fe.log выводится предупреждение.

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

enable_adaptive_random_bucket_load​

По умолчанию: true

Динамическая настройка: true

Только для узла Master FE: true

Добавлен в версии 4.1.4. Включает адаптивную загрузку в случайные бакеты.

При включении FE отправляет узлам BE сведения о расположении tablet, а каждый BE определяет по ним набор локальных бакетов, для которых он хранит основную реплику. Как только объём данных, записанных в один tablet, превышает порог (по умолчанию 200 MB), запись переключается между локальными бакетами. Это снижает нагрузку на память при загрузке и повышает пропускную способность загрузки в таблицы со случайным распределением по бакетам (DISTRIBUTED BY RANDOM). Механизм одинаково применяется ко всем способам загрузки.

На эту функцию также влияют параметры BE enable_table_memtable_flush_backpressure и table_memtable_flush_pending_count_limit. См. Конфигурация BE.

enable_forward_group_commit_stream_load_to_follower​

По умолчанию: false

Динамическая настройка: true

Только для узла Master FE: true

Добавлен в версии 4.1.4. Включает перенаправление запросов Stream Load, использующих Group Commit, на Follower FE.

При включении запросы Stream Load в режиме Group Commit перенаправляются на Follower FE циклически, что распределяет нагрузку по объединению запросов в пакеты между несколькими FE.

Обратите внимание: перенаправление не поддерживается, если свойство light_schema_change целевой таблицы имеет значение false; такие запросы завершаются с ошибкой.

streaming_job_snapshot_offset_persist_interval_sec​

По умолчанию: 300 (s)

Динамическая настройка: true

Только для узла Master FE: true

Добавлен в версии 4.1.4. Минимальный интервал в секундах между двумя сохранениями смещения на этапе полного снимка Streaming Job, то есть задания непрерывной загрузки. Меньшее значение сокращает объём данных, которые нужно повторно обработать после перезапуска задания, но увеличивает частоту записи метаданных.

label_keep_max_second​

По умолчанию:3 * 24 * 3600 (3 дня)

IsMutable:true

MasterOnly:true

Метки завершённых или отменённых заданий загрузки удаляются через label_keep_max_second.

  1. Удалённые метки можно использовать повторно.
  2. Уменьшение срока снижает использование памяти FE, поскольку до удаления сведения обо всех заданиях загрузки хранятся в памяти.

При большом числе одновременных операций записи, если накопилась большая очередь заданий и вызов службы Frontend завершается с ошибкой, проверьте журнал. Если запись метаданных слишком долго ожидает блокировки, можно уменьшить это значение до 12 часов, до 6 часов или ещё меньше.

streaming_label_keep_max_second​

По умолчанию: 43200 (12 часов)

IsMutable:true

MasterOnly:true

Применяется к некоторым часто выполняемым операциям загрузки, таким как INSERT, STREAMING LOAD и ROUTINE_LOAD_TASK. По истечении срока удаляется завершённое задание или задача.

label_clean_interval_second​

По умолчанию:1 * 3600 (1 час)

Очистка меток загрузки запускается каждые label_clean_interval_second и удаляет устаревшие задания.

label_regex_length​

Значение по умолчанию: 128 (символов)

Максимальная длина метки загрузки в символах, по умолчанию 128 символов.

transaction_clean_interval_second​

По умолчанию:30

Транзакция очищается через transaction_clean_interval_second секунд после перехода в состояние visible или aborted. Этот интервал следует делать как можно короче, а каждый цикл очистки выполнять как можно быстрее.

sync_commit_interval_second​

Максимальный интервал между фиксациями транзакций. Если по истечении этого времени в канале остаются неотправленные данные, потребитель уведомляет канал о необходимости фиксации транзакции.

По умолчанию: 10 (секунд)

Динамическая настройка: true

Только для узла Master FE: true

sync_checker_interval_second​

Проверка состояния выполнения задания синхронизации данных.

По умолчанию: 10 (s)

max_sync_task_threads_num​

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

По умолчанию:10

min_sync_commit_size​

Минимальное число событий, необходимое для фиксации транзакции. Если FE получил меньше событий, он продолжает ожидать следующий пакет данных, пока время ожидания не превысит sync_commit_interval_second. Значение по умолчанию — 10000 событий. При изменении этой настройки убедитесь, что значение меньше параметра canal.instance.memory.buffer.size на стороне canal (по умолчанию 16384). Иначе до отправки подтверждения FE попытается получить больше событий, чем вмещает очередь хранилища, из-за чего она заблокируется до истечения тайм-аута.

По умолчанию: 10000

Динамическая настройка: true

Только для узла Master FE: true

min_bytes_sync_commit​

Минимальный объём данных, необходимый для фиксации транзакции. Если FE получил меньший объём данных, он продолжает ожидать следующий пакет, пока время ожидания не превысит sync_commit_interval_second. Значение по умолчанию — 15MB. При изменении этой настройки убедитесь, что значение меньше произведения canal.instance.memory.buffer.size и canal.instance.memory.buffer.memunit на стороне canal (по умолчанию 16MB). Иначе до отправки подтверждения FE попытается получить больше данных, чем вмещает хранилище, из-за чего очередь хранилища заблокируется до истечения тайм-аута.

По умолчанию: 15*1024*1024 (15M)

Динамическая настройка: true

Только для узла Master FE: true

max_bytes_sync_commit​

Максимальное число потоков в пуле потоков заданий синхронизации данных. Во всём FE существует только один такой пул, который обрабатывает все задачи синхронизации данных FE, отправляющие данные на BE. Пул потоков реализован в классе SyncTaskPool.

По умолчанию: 10

Динамическая настройка: false

Только для узла Master FE: false

enable_outfile_to_local​

По умолчанию:false

Разрешает функции outfile экспортировать результаты на локальный диск.

export_tablet_num_per_task​

По умолчанию:5

IsMutable:true

MasterOnly:true

Число tablet в одном плане запроса экспорта.

export_task_default_timeout_second​

По умолчанию: 2 * 3600 (2 часа)

IsMutable:true

MasterOnly:true

Тайм-аут заданий экспорта по умолчанию.

export_running_job_num_limit​

По умолчанию:5

IsMutable:true

MasterOnly:true

Ограничение числа одновременно выполняемых заданий экспорта. По умолчанию — 5. Значение 0 означает отсутствие ограничения.

export_checker_interval_second​

По умолчанию:5

Интервал запуска проверки заданий экспорта.

enable_stream_load_profile​

По умолчанию: false

MasterOnly: false

Включает профилирование Stream Load.

Журналы​

log_roll_size_mb​

По умолчанию:1024 (1G)

Максимальный размер одного системного журнала и журнала аудита.

sys_log_dir​

По умолчанию: DorisFE.DORIS_HOME_DIR + "/log"

Задаёт каталог журналов FE. FE создаёт 2 файла журналов:

fe.log: все записи журнала процесса FE. fe.warn.log все записи уровней WARNING и ERROR процесса FE.

sys_log_level​

По умолчанию:INFO

Уровень журналирования: INFO, WARN, ERROR, FATAL.

sys_log_roll_num​

По умолчанию:10

Максимальное число файлов журналов FE, сохраняемых за период sys_log_roll_interval. Значение по умолчанию — 10, то есть за день будет создано не более 10 файлов журналов.

sys_log_verbose_modules​

По умолчанию:{}

Модули с подробным журналированием. Уровень VERBOSE реализован через уровень DEBUG в log4j.

Например: sys_log_verbose_modules = org.apache.doris.catalog Будут выводиться только отладочные записи файлов из пакета org.apache.doris.catalog и всех его вложенных пакетов.

sys_log_roll_interval​

По умолчанию:DAY

sys_log_roll_interval:

  • DAY: суффикс журнала — yyyyMMdd.
  • HOUR: суффикс журнала — yyyyMMddHH.

sys_log_delete_age​

По умолчанию:7d

По умолчанию — 7 дней. Если журнал последний раз изменялся 7 дней назад, он удаляется.

Поддерживаемый формат:

  • 7d 7 дней
  • 10h 10 часов
  • 60m 60 минут
  • 120s 120 секунд

sys_log_roll_mode​

По умолчанию:SIZE-MB-1024

Размер для ротации журнала: новый файл создаётся после каждых 1 G.

sys_log_enable_compress​

По умолчанию: false

При значении true файлы fe.log и fe.warn.log сжимаются с помощью gzip.

audit_log_dir​

По умолчанию:DORIS_HOME_DIR + "/log"

audit_log_dir: Задаёт каталог журналов аудита FE. Журнал аудита fe.audit.log содержит все запросы и связанные сведения: пользователя, хост, время выполнения, состояние и т. д.

audit_log_roll_num​

По умолчанию:90

Максимальное число файлов журнала аудита FE, сохраняемых за период audit_log_roll_interval.

audit_log_modules​

По умолчанию:{"slow_query", "query", "load", "stream_load"}

Журнал медленных запросов содержит все запросы, время выполнения которых превышает qe_slow_log_ms.

qe_slow_log_ms​

По умолчанию: 5000 (5 секунд)

Если время ответа на запрос превышает этот порог, он записывается в журнал аудита как slow_query.

audit_log_roll_interval​

По умолчанию:DAY

DAY: суффикс журнала: yyyyMMdd. HOUR: суффикс журнала: yyyyMMddHH.

audit_log_delete_age​

По умолчанию:30d

По умолчанию — 30 дней. Если журнал последний раз изменялся 30 дней назад, он удаляется.

Поддерживаемый формат:

  • 7d 7 дней
  • 10h 10 часов
  • 60m 60 минут
  • 120s 120 секунд

audit_log_enable_compress​

По умолчанию: false

При значении true файл fe.audit.log сжимается с помощью gzip.

nereids_trace_log_dir​

По умолчанию: DorisFE.DORIS_HOME_DIR + "/log/nereids_trace"

Задаёт каталог журнала трассировки Nereids.

Хранение​

inverted_index_storage_format​

По умолчанию: V3

Динамическая настройка: true

Только для узла Master FE: true

Формат хранения новых инвертированных индексов по умолчанию. Начиная с версии 4.1.5, создание инвертированных индексов V1 и динамическая установка этого параметра в V1 запрещены. Если действующее значение в fe.conf или fe_custom.conf равно V1, FE отказывается запускаться; перед обновлением замените его на V2 или V3. Существующие таблицы V1 остаются доступными для чтения, но добавлять в них новые инвертированные индексы нельзя. Если нужны новые индексы, пересоздайте таблицу в формате V2 или V3.

min_replication_num_per_tablet​

По умолчанию: 1

Задаёт минимальное число реплик одного tablet.

max_replication_num_per_tablet​

По умолчанию: 32767

Задаёт максимальное число реплик одного tablet.

default_db_data_quota_bytes​

По умолчанию:8192PB

IsMutable:true

MasterOnly:true

Задаёт квоту объёма данных базы данных по умолчанию. Чтобы установить квоту для отдельной базы данных, используйте:

Set the database data quota, the unit is:B/K/KB/M/MB/G/GB/T/TB/P/PB
ALTER DATABASE db_name SET DATA QUOTA quota;
View configuration
show data (Detail:HELP SHOW DATA)

default_db_replica_quota_size​

По умолчанию: 1073741824

IsMutable:true

MasterOnly:true

Задаёт квоту реплик базы данных по умолчанию. Чтобы установить квоту для отдельной базы данных, используйте:

Set the database replica quota
ALTER DATABASE db_name SET REPLICA QUOTA quota;
View configuration
show data (Detail:HELP SHOW DATA)

recover_with_empty_tablet​

По умолчанию:false

IsMutable:true

MasterOnly:true

В исключительных обстоятельствах, например из-за ошибок кода или действий пользователя, могут быть потеряны все реплики некоторых tablet. В таком случае данные фактически утрачены. Однако в некоторых сценариях приложению требуется, чтобы запросы не возвращали ошибки даже при потере данных, а её последствия были менее заметны пользователям. Для этого отсутствующие реплики можно заменить пустыми tablet, чтобы запросы выполнялись штатно.

Установите true, чтобы Doris автоматически создавал пустые реплики для tablet, у которых все реплики повреждены или отсутствуют.

min_clone_task_timeout_sec And max_clone_task_timeout_sec​

По умолчанию: минимум 3 минуты, максимум два часа

IsMutable:true

MasterOnly:true

Можно использовать совместно с mix_clone_task_timeout_sec для управления максимальным и минимальным тайм-аутом задачи клонирования. В обычных условиях тайм-аут оценивается по объёму данных и минимальной скорости передачи (5MB/s). В некоторых особых случаях эти два параметра позволяют задать верхнюю и нижнюю границы тайм-аута, чтобы задача клонирования могла успешно завершиться.

disable_storage_medium_check​

По умолчанию:false

IsMutable:true

MasterOnly:true

Если disable_storage_medium_check имеет значение true, ReportHandler не проверяет тип носителя tablet и отключает функцию переноса данных в холодное хранилище. Значение по умолчанию — false. Можно установить true, если тип носителя tablet не имеет значения.

decommission_tablet_check_threshold​

По умолчанию:5000

IsMutable:true

MasterOnly:true

Определяет, должен ли Master FE проверять состояние tablet на BE, выведенном из эксплуатации. Если число tablet на таком BE ниже этого порога, FE запускает периодическую проверку. Как только все tablet на BE будут удалены, FE немедленно удалит этот BE.

Из соображений производительности не задавайте слишком высокое значение этого параметра.

partition_rebalance_max_moves_num_per_selection​

По умолчанию:10

IsMutable:true

MasterOnly:true

Действует только при использовании PartitionRebalancer.

partition_rebalance_move_expire_after_access​

По умолчанию:600 (s)

IsMutable:true

MasterOnly:true

Действует только при использовании PartitionRebalancer. При изменении значения кэшированные перемещения очищаются.

tablet_rebalancer_type​

По умолчанию:BeLoad

MasterOnly:true

Тип механизма перебалансировки без учёта регистра: BeLoad, Partition. Если тип не удалось распознать, по умолчанию используется BeLoad.

max_balancing_tablets​

По умолчанию:100

IsMutable:true

MasterOnly:true

Если число балансируемых tablet в TabletScheduler превышает max_balancing_tablets, дальнейшая проверка балансировки не выполняется.

max_scheduling_tablets​

По умолчанию:2000

IsMutable:true

MasterOnly:true

Если число запланированных tablet в TabletScheduler превышает max_scheduling_tablets, проверка пропускается.

disable_balance​

По умолчанию:false

IsMutable:true

MasterOnly:true

При значении true TabletScheduler не выполняет балансировку.

disable_disk_balance​

По умолчанию:true

IsMutable:true

MasterOnly:true

При значении true TabletScheduler не выполняет балансировку дисков.

balance_load_score_threshold​

По умолчанию: 0.1 (10%)

IsMutable:true

MasterOnly:true

Порог оценки сбалансированности кластера. Если оценка нагрузки Backend на 10% ниже средней, этот Backend помечается как LOW. Если оценка нагрузки на 10% выше средней, он помечается как HIGH.

capacity_used_percent_high_water​

По умолчанию: 0.75 (75%)

IsMutable:true

MasterOnly:true

Верхний порог доли занятого дискового пространства. Используется для расчёта оценки нагрузки Backend.

clone_distribution_balance_threshold​

По умолчанию: 0.2

IsMutable:true

MasterOnly:true

Порог балансировки числа реплик между Backend.

clone_capacity_balance_threshold​

По умолчанию: 0.2

IsMutable:true

MasterOnly:true

  • Порог балансировки объёма данных на BE.

    Алгоритм балансировки:

    1. Вычислить средний использованный объём (AUC) по всему кластеру: общий объём данных / общее число Backend.

    2. Верхний порог равен (AUC * (1 + clone_capacity_balance_threshold)).

    3. Нижний порог равен (AUC * (1 - clone_capacity_balance_threshold)).

    4. Компонент проверки Clone пытается перенести реплику с BE выше верхнего порога на BE ниже нижнего порога.

disable_colocate_balance​

По умолчанию:false

IsMutable:true

MasterOnly:true

Значение true отключает автоматическое перемещение и балансировку таблиц Colocate. Если 'disable_colocate_balance' равен true, ColocateTableBalancer не перемещает и не балансирует таблицы Colocate.

Внимание:

  1. В обычных условиях отключать балансировку не требуется.
  2. После отключения балансировки нестабильная таблица Colocate может не восстановиться.
  3. В результате при выполнении запросов нельзя будет использовать план Colocate.

balance_slot_num_per_path​

По умолчанию: 1

IsMutable:true

MasterOnly:true

Число слотов на путь при балансировке по умолчанию.

disable_tablet_scheduler​

По умолчанию:false

IsMutable:true

MasterOnly:true

При значении true планировщик tablet не работает, поэтому все задачи восстановления и балансировки tablet также не выполняются.

enable_force_drop_redundant_replica​

По умолчанию: false

Динамическая настройка: true

Только для Master FE: true

При значении true система немедленно удаляет избыточные реплики в логике планирования tablet. Из-за этого некоторые задания загрузки, записывающие данные в соответствующую реплику, могут завершиться с ошибкой, но балансировка и восстановление tablet ускорятся. Если в кластере накопилось большое число реплик, ожидающих балансировки или восстановления, можно включить этот параметр, чтобы ускорить эти операции ценой снижения доли успешных загрузок.

colocate_group_relocate_delay_second​

По умолчанию: 1800

Динамическая настройка: true

Только для Master FE: true

Перемещение группы Colocate может потребовать переноса большого числа tablet внутри кластера. Поэтому следует придерживаться более осторожной стратегии и по возможности избегать перемещения групп Colocate. Обычно перемещение происходит после отключения или сбоя узла BE. Этот параметр откладывает признание узла BE недоступным. По умолчанию — 30 минут: если узел BE восстановится в течение 30 минут, перемещение группы Colocate не будет запущено.

allow_replica_on_same_host​

По умолчанию: false

Динамическая настройка: false

Только для Master FE: false

Разрешает размещать несколько реплик одного tablet на одном хосте. Параметр в основном предназначен для локального тестирования и позволяет проще запускать несколько BE для проверки сценариев с несколькими репликами. Не используйте его вне тестовой среды.

repair_slow_replica​

По умолчанию: false

IsMutable:true

MasterOnly: true

При значении true реплика с медленным выполнением compaction автоматически обнаруживается и переносится на другой сервер. Условие обнаружения: число версий самой быстрой реплики превышает min_version_count_indicate_replica_compaction_too_slow, а относительная разница в числе версий по сравнению с самой быстрой репликой превышает valid_version_count_delta_ratio_between_replicas.

min_version_count_indicate_replica_compaction_too_slow​

По умолчанию: 200

Динамическая настройка: true

Только для Master FE: false

Порог числа версий для определения слишком медленного выполнения compaction реплики.

skip_compaction_slower_replica​

По умолчанию: true

Динамическая настройка: true

Только для Master FE: false

При значении true реплика с медленным выполнением compaction пропускается при выборе реплик, доступных для запросов.

valid_version_count_delta_ratio_between_replicas​

По умолчанию: 0.5

Динамическая настройка: true

Только для Master FE: true

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

min_bytes_indicate_replica_too_large​

По умолчанию: 2 * 1024 * 1024 * 1024 (2G)

Динамическая настройка: true

Только для Master FE: true

Порог объёма данных для определения слишком большой реплики.

schedule_slot_num_per_hdd_path​

По умолчанию:4

Число слотов на путь HDD в планировщике tablet по умолчанию. Этот параметр предполагается удалить и динамически корректировать число слотов по статистике задач клонирования.

schedule_slot_num_per_ssd_path​

По умолчанию:8

Число слотов на путь SSD в планировщике tablet по умолчанию. Этот параметр предполагается удалить и динамически корректировать число слотов по статистике задач клонирования.

tablet_repair_delay_factor_second​

По умолчанию:60 (s)

IsMutable:true

MasterOnly:true

Коэффициент задержки перед принятием решения о восстановлении tablet.

  • При приоритете VERY_HIGH восстановление выполняется немедленно.
  • HIGH: задержка tablet_repair_delay_factor_second * 1;
  • NORMAL: задержка tablet_repair_delay_factor_second * 2;
  • LOW: задержка tablet_repair_delay_factor_second * 3;

tablet_stat_update_interval_second​

По умолчанию:300(5min)

Интервал обновления статистики tablet. С этим интервалом все Frontend получают статистику tablet со всех Backend.

storage_flood_stage_usage_percent​

По умолчанию:95 (95%)

IsMutable:true

MasterOnly:true

storage_flood_stage_left_capacity_bytes​

По умолчанию:1 * 1024 * 1024 * 1024 (1GB)

IsMutable:true

MasterOnly:true

Если заполненность диска достигает порогов 'storage_flood_stage_usage_percent' и 'storage_flood_stage_left_capacity_bytes', следующие операции отклоняются:

  1. Задания загрузки.
  2. Задания восстановления.

storage_high_watermark_usage_percent​

По умолчанию:85 (85%)

IsMutable:true

MasterOnly:true

storage_min_left_capacity_bytes​

По умолчанию: 2 * 1024 * 1024 * 1024 (2GB)

IsMutable:true

MasterOnly:true

'storage_high_watermark_usage_percent' ограничивает максимальную долю занятого пространства по пути хранения Backend. 'storage_min_left_capacity_bytes' ограничивает минимальный объём свободного пространства по этому пути. Если достигнуты оба ограничения, путь хранения нельзя выбрать как целевой для балансировки tablet. Однако при восстановлении tablet эти ограничения могут быть превышены, чтобы по возможности сохранить целостность данных.

catalog_trash_expire_second​

По умолчанию: 86400L (1 день)

IsMutable:true

MasterOnly:true

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

default_storage_medium​

По умолчанию:HDD

При создании таблицы или секции можно указать тип носителя: HDD или SSD. Если он не указан, используется тип носителя, заданный этим параметром.

default_compression_type​

По умолчанию: LZ4F (до 4.0.3), ZSTD (начиная с 4.0.3)

При создании таблицы можно указать алгоритм сжатия. Если он не указан, этот параметр определяет тип сжатия по умолчанию. Допустимые значения: LZ4, LZ4F, LZ4HC, ZLIB, ZSTD, SNAPPY, NONE (без учёта регистра).

enable_storage_policy​

  • Включает функцию Storage Policy, которая позволяет разделять горячие и холодные данные. По умолчанию: false

Динамическая настройка: true

Только для узла Master FE: true

check_consistency_default_timeout_second​

По умолчанию: 600 (10 минут)

IsMutable:true

MasterOnly:true

Тайм-аут одной задачи проверки согласованности по умолчанию. Задайте достаточно большое значение с учётом размера tablet.

consistency_check_start_time​

По умолчанию:23

IsMutable:true

MasterOnly:true

Время начала проверки согласованности.

Проверка согласованности выполняется с consistency_check_start_time до consistency_check_end_time.

Если время начала и окончания совпадает, проверка согласованности не запускается.

consistency_check_end_time​

По умолчанию:23

IsMutable:true

MasterOnly:true

Время окончания проверки согласованности.

Проверка согласованности выполняется с consistency_check_start_time до consistency_check_end_time.

Если время начала и окончания совпадает, проверка согласованности не запускается.

replica_delay_recovery_second​

По умолчанию:0

IsMutable:true

MasterOnly:true

Минимальная задержка в секундах между сбоем реплики и попыткой FE восстановить её с помощью клонирования.

tablet_create_timeout_second​

По умолчанию:1(s)

IsMutable:true

MasterOnly:true

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

Например: если создаётся таблица с #m tablet и #n реплик для каждого tablet, запрос создания таблицы будет выполняться не дольше (m n tablet_create_timeout_second) до истечения тайм-аута.

tablet_delete_timeout_second​

По умолчанию:2

IsMutable:true

MasterOnly:true

Имеет тот же смысл, что и tablet_create_timeout_second, но применяется при удалении tablet.

delete_job_max_timeout_second​

По умолчанию: 300(s)

Динамическая настройка: true

Только для Master: true

Максимальный тайм-аут задания удаления в секундах.

alter_table_timeout_second​

По умолчанию: 86400 * 30 (1 месяц)

IsMutable:true

MasterOnly:true

Максимальный тайм-аут запроса ALTER TABLE. Задайте достаточно большое значение с учётом объёма данных таблицы.

max_replica_count_when_schema_change​

Максимальное число реплик, допустимое при изменении схемы OlapTable. Слишком большое число реплик приводит к OOM на FE.

По умолчанию: 100000

Динамическая настройка: true

Только для узла Master FE: true

history_job_keep_max_second​

По умолчанию:7 * 24 * 3600 (7 дней)

IsMutable:true

MasterOnly:true

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

max_create_table_timeout_second​

По умолчанию:60 (s)

IsMutable:true

MasterOnly:true

Задаёт максимальный тайм-аут, чтобы ожидание создания таблицы или индекса не было слишком долгим.

autobucket_min_buckets​

По умолчанию: 3 (до 4.0.8 / 4.1.4 было 1)

IsMutable: true

MasterOnly: true

Минимальное число бакетов, создаваемых стратегией автоматического распределения по бакетам (DISTRIBUTED BY ... BUCKETS AUTO).

Начиная с версии 4.0.8 линейки Doris 4.0 и версии 4.1.4 линейки 4.1, значение по умолчанию изменено с 1 на 3. Прежнее значение приводило к тому, что небольшие секции получали один бакет, чего было недостаточно для параллельной обработки и распределения данных. После изменения автоматическое распределение никогда не создаёт менее 3 бакетов. Изменение затрагивает только новые секции; число бакетов существующих секций остаётся прежним.

autobucket_max_buckets​

По умолчанию: 128

IsMutable: true

MasterOnly: true

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

Внешние таблицы​

external_meta_cache_max_weight​

По умолчанию: 0

Динамическая настройка: false

Только для узла Master FE: false

Добавлен в версии 4.1.4. Общее ограничение объёма кэша внешних метаданных на уровне FE.

Значение можно задать как объём в байтах с единицей измерения, например 1024MB или 4GB, либо как процент от максимального размера heap JVM, например 10%. Значение 0 означает отсутствие общей квоты, что соответствует поведению предыдущих версий.

Эта квота совместно ограничивает память, используемую различными видами кэша метаданных внешних таблиц: значениями секций Hive, таблицами, снимками и манифестами Iceberg, снимками Paimon и т. д. Для отдельного Catalog доступны более детальные настройки через свойства meta.cache.max-weight и meta.cache.<engine>.<entry>.max-weight. Использование кэша можно отслеживать в системной таблице information_schema.catalog_meta_cache_statistics.

jdbc_driver_url_white_list​

По умолчанию: пусто

Динамическая настройка: false

Белый список значений driver_url, разрешённых при создании JDBC Catalog. Несколько значений разделяются запятыми, например jdbc_driver_url_white_list=a,b,c. Пустое значение означает, что белый список не задан.

Изменение поведения (4.1.4)

Из соображений безопасности, начиная с версии 4.1.4 этот параметр больше нельзя изменять динамически. Его можно задать только в fe.conf, и он вступает в силу после перезапуска FE; изменить его с помощью ADMIN SET FRONTEND CONFIG больше нельзя.

force_sqlserver_jdbc_encrypt_false​

По умолчанию: false

Динамическая настройка: false

Принудительно устанавливает параметр encrypt JDBC Catalog для SQLServer в false.

Изменение поведения (4.1.4)

Этот параметр отключает шифрование передаваемых данных для SQLServer JDBC, поэтому влияет на безопасность. Начиная с версии 4.1.4 его больше нельзя изменять динамически; он задаётся только в fe.conf и вступает в силу после перезапуска FE.

file_scan_node_split_num​

По умолчанию:128

IsMutable:true

MasterOnly:false

Число потоков параллельного сканирования файлов для нескольких Catalog.

file_scan_node_split_size​

По умолчанию:256 * 1024 * 1024

IsMutable:true

MasterOnly:false

Объём данных параллельного сканирования файлов для нескольких Catalog.

enable_odbc_mysql_broker_table​

По умолчанию:false

IsMutable:true

MasterOnly:false

Начиная с версии 2.1, создание внешних таблиц ODBC, JDBC и Broker больше не поддерживается. Вместо внешних таблиц ODBC и MySQL используйте таблицу JDBC или JDBC Catalog. Вместо таблицы Broker используйте табличную функцию.

max_hive_partition_cache_num​

Максимальное число записей кэша секций Hive.

По умолчанию: 100000

Динамическая настройка: false

Только для узла Master FE: false

hive_metastore_client_timeout_second​

Тайм-аут соединения с Hive Metastore по умолчанию.

По умолчанию: 10

Динамическая настройка: true

Только для узла Master FE: true

max_external_cache_loader_thread_pool_size​

Максимальный размер пула потоков для загрузки кэша внешних метаданных.

По умолчанию: 10

Динамическая настройка: false

Только для узла Master FE: false

max_external_file_cache_num​

Максимальное число записей кэша файлов для внешних таблиц.

По умолчанию: 100000

Динамическая настройка: false

Только для узла Master FE: false

max_external_schema_cache_num​

Максимальное число записей кэша схем для внешних таблиц.

По умолчанию: 10000

Динамическая настройка: false

Только для узла Master FE: false

external_cache_expire_time_minutes_after_access​

Задаёт срок действия данных в кэше после последнего обращения, в минутах. Применяется к External Schema Cache и Hive Partition Cache.

По умолчанию: 1440

Динамическая настройка: false

Только для узла Master FE: false

es_state_sync_interval_second​

По умолчанию:10

FE вызывает API ES для получения сведений о шардах индекса ES каждые es_state_sync_interval_secs.

Внешние ресурсы​

ai_resource_allowed_user​

По умолчанию: *

Динамическая настройка: false

Только для узла Master FE: false

Поддерживается с версии 4.1.5. Ограничивает идентификатор пользователя, которому разрешено создавать AI Resources. Значение * не вводит ограничений по идентификатору, но существующие проверки прав по-прежнему действуют. Другие значения задаются в формате 'user'@'host' и должны совпадать с идентификатором текущего пользователя. Для применения изменений требуется перезапуск FE.

dpp_hadoop_client_path​

По умолчанию:/lib/hadoop-client/hadoop/bin/hadoop

dpp_bytes_per_reduce​

По умолчанию:100 * 1024 * 1024L (100M)

dpp_default_cluster​

По умолчанию:palo-dpp

dpp_default_config_str​

По умолчанию:{ hadoop_configs : 'mapred.job.priority=NORMAL;mapred.job.map.capacity=50;mapred.job.reduce.capacity=50;mapred.hce.replace.streaming=false;abaci.long.stored.job=true;dce.shuffle.enable=false;dfs.client.authserver.force_stop=true;dfs.client.auth.method=0' }

dpp_config_str​

По умолчанию:{ palo-dpp : { hadoop_palo_path : '/dir', hadoop_configs : 'fs.default.name=hdfs://host:port;mapred.job.tracker=host:port;hadoop.job.ugi=user,password' } }

yarn_config_dir​

По умолчанию: DorisFE.DORIS_HOME_DIR + "/lib/yarn-config"

Каталог файлов конфигурации YARN по умолчанию. Перед каждым запуском команды YARN проверяется наличие файлов конфигурации по этому пути; если их нет, они создаются.

yarn_client_path​

По умолчанию:DORIS_HOME_DIR + "/lib/yarn-client/hadoop/bin/yarn"

Путь к клиенту YARN по умолчанию.

spark_launcher_log_dir​

По умолчанию: sys_log_dir + "/spark_launcher_log"

Каталог журналов Spark Launcher.

spark_resource_path​

По умолчанию:none

Путь к зависимостям Spark по умолчанию.

spark_home_default_dir​

По умолчанию:DORIS_HOME_DIR + "/lib/spark2x"

Домашний каталог Spark по умолчанию.

spark_dpp_version​

По умолчанию: 1.0.0

Версия Spark DPP по умолчанию.

Прочее​

tmp_dir​

По умолчанию: DorisFE.DORIS_HOME_DIR + "/temp_dir"

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

custom_config_dir​

По умолчанию: DorisFE.DORIS_HOME_DIR + "/conf"

Каталог пользовательского файла конфигурации.

Задаёт расположение файла fe_custom.conf. По умолчанию он находится в каталоге conf/.

В некоторых средах развёртывания каталог conf/ может быть перезаписан при обновлении системы. Это приводит к перезаписи параметров, изменённых пользователем. В таком случае можно хранить fe_custom.conf в другом указанном каталоге, чтобы избежать перезаписи файла конфигурации.

plugin_dir​

По умолчанию:DORIS_HOME + "/plugins

Каталог установки плагинов.

plugin_enable​

По умолчанию:true

IsMutable:true

MasterOnly:true

Включает плагины. По умолчанию включены.

small_file_dir​

По умолчанию:DORIS_HOME_DIR/small_files

Каталог хранения небольших файлов.

max_small_file_size_bytes​

По умолчанию:1M

IsMutable:true

MasterOnly:true

Максимальный размер одного файла, хранящегося в SmallFileMgr.

max_small_file_number​

По умолчанию:100

IsMutable:true

MasterOnly:true

Максимальное число файлов, хранящихся в SmallFileMgr.

enable_metric_calculator​

По умолчанию:true

При значении true сборщик метрик запускается как фоновый таймер и собирает метрики с фиксированным интервалом.

report_queue_size​

По умолчанию: 100

IsMutable:true

MasterOnly:true

Этот порог предотвращает накопление слишком большого числа задач обработки отчётов на FE, которое может привести к OOM. В некоторых крупных кластерах Doris, например со 100 Backend и десятью миллионами реплик, обработка отчёта tablet после изменения метаданных, например удаления секции, может занимать несколько секунд. При этом каждый Backend отправляет сведения о tablet каждые 1 мин, поэтому неограниченный приём отчётов недопустим. В будущем скорость обработки отчётов tablet будет оптимизирована, но пока отчёт просто отбрасывается, если размер очереди превышает ограничение. Примеры времени обработки в рабочей среде: 1. disk report: 0-1 msta 2. sk report: 0-1 ms 3. tablet report 4. 10000 replicas: 200ms

backup_job_default_timeout_ms​

По умолчанию: 86400 * 1000 (1 день)

IsMutable:true

MasterOnly:true

Тайм-аут задания резервного копирования по умолчанию.

backup_upload_snapshot_batch_size​

По умолчанию:10

IsMutable:true

MasterOnly:true

Максимальное число снимков, назначаемых одной задаче отправки при резервном копировании. Значение по умолчанию — 10.

restore_download_snapshot_batch_size​

По умолчанию:10

IsMutable:true

MasterOnly:true

Максимальное число снимков, назначаемых одной задаче скачивания при восстановлении. Значение по умолчанию — 10.

max_backup_restore_job_num_per_db​

По умолчанию: 10

Этот параметр в основном ограничивает число задач резервного копирования и восстановления, сведения о которых хранятся для каждой базы данных.

max_backup_tablets_per_job​

По умолчанию: 300000

IsMutable:true

MasterOnly:true

Ограничивает максимальное число tablet в одном задании резервного копирования, чтобы избежать OOM на FE из-за хранения слишком большого объёма метаданных.

enable_quantile_state_type​

По умолчанию:false

IsMutable:true

MasterOnly:true

Включает тип данных quantile_state.

enable_date_conversion​

По умолчанию:true

IsMutable:true

MasterOnly:true

FE автоматически преобразует date/datetime в datev2/datetimev2(0).

enable_decimal_conversion​

По умолчанию:true

IsMutable:true

MasterOnly:true

FE автоматически преобразует DecimalV2 в DecimalV3.

proxy_auth_magic_prefix​

По умолчанию:x@8

proxy_auth_enable​

По умолчанию:false

enable_func_pushdown​

По умолчанию:true

IsMutable:true

MasterOnly:false

Определяет, следует ли передавать условия фильтрации с функциями на выполнение в MySQL при запросах к внешним таблицам ODBC и JDBC.

jdbc_drivers_dir​

По умолчанию: ${DORIS_HOME}/jdbc_drivers;

IsMutable:false

MasterOnly:false

Каталог размещения драйверов JDBC по умолчанию.

max_error_tablet_of_broker_load​

По умолчанию: 3;

IsMutable:true

MasterOnly:true

Максимальное число tablet с ошибками, отображаемых в Broker Load.

default_db_max_running_txn_num​

По умолчанию:-1

IsMutable:true

MasterOnly:true

Задаёт квоту транзакций базы данных по умолчанию.

Значение по умолчанию -1 означает использование max_running_txn_num_per_db вместо default_db_max_running_txn_num.

Чтобы установить квоту для отдельной базы данных, используйте:

Set the database transaction quota
ALTER DATABASE db_name SET TRANSACTION QUOTA quota;
View configuration
show data (Detail:HELP SHOW DATA)

prefer_compute_node_for_external_table​

По умолчанию:false

IsMutable:true

MasterOnly:false

При значении true запросы к внешним таблицам преимущественно назначаются вычислительным узлам. Максимальное число вычислительных узлов регулируется параметром min_backend_num_for_external_table. При значении false запросы к внешним таблицам назначаются любым узлам.

min_backend_num_for_external_table​

По умолчанию:3

IsMutable:true

MasterOnly:false

Действует только при значении true у prefer_compute_node_for_external_table. Если число вычислительных узлов меньше этого значения, запрос к внешней таблице пытается дополнительно задействовать смешанные узлы, чтобы общее число узлов достигло этого значения. Если число вычислительных узлов больше этого значения, запрос к внешней таблице назначается только вычислительным узлам.

infodb_support_ext_catalog​

По умолчанию: false

IsMutable: true

MasterOnly: false

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

enable_query_hit_stats​

По умолчанию: false

IsMutable: true

MasterOnly: false

Управляет сбором статистики обращений запросов. Значение по умолчанию — false.

div_precision_increment​

По умолчанию: 4

Эта переменная задаёт число разрядов, на которое увеличивается масштаб результата операций деления, выполняемых оператором /.

enable_convert_light_weight_schema_change​

По умолчанию:true

Временный параметр конфигурации. После включения запускается фоновый поток, который автоматически переводит все таблицы OLAP на облегчённое изменение схемы. Результаты можно просмотреть командой show convert_light_schema_change [from db]: она показывает результаты преобразования всех таблиц, ранее не использовавших облегчённое изменение схемы.

disable_local_deploy_manager_drop_node​

По умолчанию:true

Запрещает LocalDeployManager удалять узлы, чтобы ошибки в файле cluster.info не приводили к их удалению.

mysqldb_replace_name​

По умолчанию: mysql

Для совместимости с экосистемой MySQL Doris содержит встроенную базу данных mysql. Если она конфликтует с собственной базой данных пользователя, измените это поле, чтобы переименовать встроенную базу данных MySQL в Doris.

max_auto_partition_num​

Значение по умолчанию: 2000

Для таблиц с автоматическим секционированием число секций на одну таблицу OLAP ограничено параметром max_auto_partition_num, чтобы пользователь случайно не создал слишком много секций. По умолчанию — 2000.

profile_manager_gc_interval_seconds​

Значение по умолчанию: 1

Задаёт интервал, с которым ProfileManager выполняет сборку мусора профилей. Во время сборки мусора ProfileManager удаляет лишние и просроченные профили из памяти и с диска, чтобы сократить расход памяти.

Режим разделения вычислений и хранения​

cloud_edit_log_roll_interval_second​

По умолчанию: 3600 (секунд)

Динамическая настройка: true

Только для узла Master FE: true

Поддерживается с версии 4.1.5. Временной интервал ротации Edit Log в режиме разделения вычислений и хранения, позволяющий регулярно создавать контрольные точки даже при редкой записи метаданных. Интервал проверяется при добавлении записи в журнал; отдельного таймера, принудительно запускающего ротацию при отсутствии новых записей, нет. Неположительные значения отключают ротацию по времени. Ротация по числу записей журнала остаётся включённой.

cloud_version_syncer_interval_second​

По умолчанию: 60 (секунд, 20 до 4.1.5)

Динамическая настройка: false

Только для узла Master FE: false

Интервал фоновой синхронизации версий таблиц и секций всеми FE в режиме разделения вычислений и хранения. Для фоновой синхронизации требуется cloud_enable_version_syncer=true и значение Long.MAX_VALUE хотя бы у одного глобального TTL или TTL по умолчанию для кэша версий таблиц либо секций; кэши с конечным TTL обновляются лениво при чтении. В версии 4.1.5 интервал по умолчанию увеличен с 20 до 60 секунд, чтобы сократить число запросов к Meta Service. Для применения изменений требуется перезапуск FE.

cloud_get_version_task_batch_size​

По умолчанию: 200 (2000 до 4.1.5)

Динамическая настройка: true

Только для узла Master FE: false

Максимальное число таблиц или секций в одном пакете Get Version при синхронизации версий в режиме разделения вычислений и хранения. В версии 4.1.5 значение по умолчанию уменьшено с 2000 до 200, чтобы сократить размер запроса.

cloud_version_syncer_get_version_retry_times​

По умолчанию: 3

Динамическая настройка: true

Только для узла Master FE: false

Поддерживается с версии 4.1.5. Максимальное число попыток получения версий таблиц или секций при фоновой синхронизации в режиме разделения вычислений и хранения, включая первоначальный запрос. Значение по умолчанию допускает всего до 3 попыток, а не 3 повторные попытки после первого запроса. Эта настройка не зависит от параметров повторных попыток RPC к Meta Service для пользовательских запросов.

cloud_warm_up_job_scheduler_interval_millisecond​

По умолчанию: 1000 (миллисекунд)

Динамическая настройка: true

Только для узла Master FE: true

Интервал планирования заданий прогрева кэша. Начиная с версии 4.1.5, при динамическом обновлении требуется значение больше 0; иначе возвращается cloud_warm_up_job_scheduler_interval_millisecond must be greater than 0.

max_active_cloud_warm_up_job​

По умолчанию: 10

Динамическая настройка: true

Только для узла Master FE: true

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

cluster_id​

По умолчанию:-1

Узлы (FE или BE) считаются принадлежащими одному кластеру Doris, если у них одинаковый идентификатор кластера. В режиме разделения вычислений и хранения следует задать случайное целое число.

deploy_mode​

По умолчанию: ""

Описание: режим работы FE. Значение cloud обозначает режим разделения хранения и вычислений.

meta_service_endpoint​

По умолчанию: ""

Конечные точки службы метаданных указываются в формате 'host1:port,host2:port'. Этот параметр необходим для режима разделения хранения и вычислений.

enable_group_commit_streamload_be_forward​

По умолчанию: false

IsMutable: true

Включает перенаправление Stream Load через BE для Group Commit в режиме разделения вычислений и хранения. Действует только в этом режиме и только для запросов, использующих Group Commit.

При включении FE перенаправляет запрос Stream Load на конечную точку _stream_load_forward, а принимающий BE пересылает запрос на целевой BE для этой таблицы. Это предотвращает распределение запросов одной таблицы балансировщиком нагрузки между разными пакетами Group Commit.

Одноимённый параметр должен быть включён и на FE, и на BE. Начиная с версии 4.0.8 линейки Doris 4.0 и версии 4.1.4 линейки 4.1, доступ к конечной точке _stream_load_forward на стороне BE регулируется конфигурацией BE: если она отключена, возвращается 403 Forbidden, а после включения запросы должны проходить аутентификацию и иметь глобальное право LOAD. См. Group Commit и Конфигурация BE.

default_get_version_from_ms_timeout_second​

По умолчанию: 30 (s)

Динамическая настройка: false

Тайм-аут получения версии из Meta Service узлом FE.

Изменение поведения (4.1.4)

В версии 4.1.4 значение по умолчанию изменено с 3 секунд на 30 секунд. Ранее при нестабильной работе Meta Service или высокой нагрузке тайм-аут в 3 секунды часто приводил к немедленному сбою запроса; увеличенное значение значительно сокращает число таких эпизодических сбоев.

enable_cloud_replica_stale_route_clean​

По умолчанию: true

Динамическая настройка: true

Добавлен в версии 4.1.4. Включает очистку записей основных и дополнительных маршрутов CloudReplica, указывающих на уже не существующие Backend, при загрузке образа метаданных и во время циклов балансировки tablet.

Такие устаревшие записи уже игнорируются при выполнении запроса: для реплики повторно выбирается Backend с помощью хеширования. Они лишь расходуют память FE и увеличивают размер образа метаданных. Установите false, чтобы сохранить прежнее поведение без очистки.

enable_cloud_colocate_consistent_hash​

По умолчанию: true

Динамическая настройка: false

Только для узла Master FE: true

Добавлен в версии 4.1.4. Определяет, используется ли согласованное хеширование rendezvous для размещения бакетов таблиц Colocate в режиме разделения вычислений и хранения. При значении false используется прежнее размещение на основе остатка от деления. Этот параметр можно задать только в fe.conf; он вступает в силу после перезапуска.

meta_service_rpc_rate_limit_enabled​

По умолчанию: true (false до 4.1.5)

Динамическая настройка: true

Добавлен в версии 4.1.4. Включает оценку ограничения QPS для RPC от FE к Meta Service. Начиная с версии 4.1.5 включён по умолчанию вместе с meta_service_rpc_rate_limit_dry_run, поэтому по умолчанию только записываются расчётные ожидания и отклонения, а сами запросы не задерживаются и не отклоняются. Чтобы применять ограничение частоты, оставьте для этого параметра true и установите dry-run в false.

meta_service_rpc_rate_limit_dry_run​

По умолчанию: true

Динамическая настройка: true

Только для узла Master FE: false

Поддерживается с версии 4.1.5. Действует только при meta_service_rpc_rate_limit_enabled=true. При значении true оценивает ограничение частоты и записывает метрики, не заставляя запросы ждать и не отклоняя их. При значении false применяет настроенные QPS, окно всплеска и тайм-аут ожидания. Метрики ожидания в режиме dry-run отражают расчётное время ожидания.

meta_service_rpc_rate_limit_default_qps_per_core​

По умолчанию: 50

Динамическая настройка: true

Добавлен в версии 4.1.4. Допустимый QPS на одно ядро CPU по умолчанию для методов RPC Meta Service, которые не настроены отдельно в meta_service_rpc_rate_limit_qps_per_core_config. Значение меньше или равно 0 означает отсутствие ограничения частоты.

meta_service_rpc_rate_limit_qps_per_core_config​

По умолчанию: getPartitionVersion:500;getTableVersion:500;getTabletStats:50;beginTxn:50

Динамическая настройка: true

Добавлен в версии 4.1.4. Ограничения QPS на одно ядро, задаваемые отдельно для методов RPC Meta Service в формате method1:qps1;method2:qps2. Значение меньше или равно 0 означает, что частота вызовов метода не ограничена.

meta_service_rpc_rate_limit_burst_seconds​

По умолчанию: 2 (s)

Динамическая настройка: true

Добавлен в версии 4.1.4. Длительность окна всплеска для ограничения частоты RPC Meta Service, в секундах. Долгосрочный средний QPS не меняется, но в пределах этого окна разрешены всплески нагрузки.

meta_service_rpc_rate_limit_wait_timeout_ms​

По умолчанию: 1000 (ms)

Динамическая настройка: true

Добавлен в версии 4.1.4. Максимальное время ожидания при срабатывании ограничения частоты RPC, в миллисекундах. Значение 0 означает отсутствие ожидания, поэтому запрос сразу завершается с ошибкой.

На этой странице