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

Конфигурация 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 (мс)

IsMutable: true

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

enable_bdbje_debug_mode​

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

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

max_bdbje_clock_delta_ms​

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

Максимально допустимое расхождение часов между узлом FE, не являющимся Master, и хостом Master FE. Значение проверяется при каждом установлении соединения такого узла с 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 (с)

Тайм-аут ожидания подтверждения от реплики при записи в 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 Environment.

По умолчанию: 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 (кучи или пула старого поколения) превышает этот порог, поток создания контрольных точек приостанавливает работу, чтобы избежать 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.conf с одинаковым значением на всех FE. Иначе узлы FE будут отклонять запросы метаданных друг друга, и синхронизация метаданных перестанет работать.

enable_multi_tags​

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

Возможность динамической настройки: false

Применяется только к узлу Master FE: true

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

initial_root_password​

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

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

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

Возможность динамической настройки: false

Применяется только к узлу Master FE: true

enable_cooldown_replica_affinity​

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

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

Возможность динамической настройки: true

Применяется только к узлу Master FE: false

TSO (Timestamp Oracle)​

SinceVersion dev

TSO включается параметром enable_feature_changelog, который по умолчанию имеет значение false и не допускает динамического изменения. Ниже перечислены поддерживаемые параметры TSO; сведения об использовании и ограничениях приведены в разделе TSO.

ПараметрТипПо умолчаниюДинамическое изменениеТолько MasterОписание
tso_service_update_interval_msint50 msfalsetrueИнтервал между проверками необходимости обновления окна выделения.
tso_max_update_retry_countint3truetrueМаксимальное количество попыток обновить состояние TSO.
tso_max_get_retry_countint10truetrueМаксимальное количество попыток выделить TSO перед сообщением об ошибке.
tso_service_window_duration_msint1000 mstruetrueПродолжительность зарезервированного окна выделения; также ограничивает интервал периодического сохранения состояния.
tso_clock_backward_startup_threshold_mslong1800000 mstruetrueМаксимально допустимая разница между восстановленной по журналу границей окна и системными часами при калибровке во время запуска.
tso_time_offset_debug_modeint0 mstruefalseСмещение часов только для тестирования; не используйте при обычной работе.
enable_tso_forward_when_counter_fullbooleantruetruetrueСдвигает физический компонент на 1 мс, если логический счётчик превысил половину своей ёмкости, а продвижения системных часов недостаточно.

Службы​

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. При его увеличении убедитесь, что оно превышает настройку 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. При его увеличении следует одновременно увеличить значение в файле 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, но не удаляется.

    Этот параметр полезен в некоторых сценариях. Предположим, изначально каждый узел BE в кластере Doris имел один диск. Через некоторое время было выполнено вертикальное масштабирование: на каждый узел 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. Если количество последовательных сбоев превышает это значение, BE переводится в состояние dead. Параметр предназначен для сред регрессионного тестирования и помогает уменьшить влияние случайных сбоев heartbeat, вызывающих массовые сбои регрессионных тестов.

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

Возможность динамической настройки: true

Применяется только к узлу Master FE: true

abort_txn_after_lost_heartbeat_time_second​

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

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

Возможность динамической настройки: true

Применяется только к узлу Master FE: true

enable_access_file_without_broker​

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

IsMutable: true

MasterOnly: true

Разрешает попытку обращения к BOS или другому облачному хранилищу напрямую, минуя Broker, при доступе через Broker.

agent_task_resend_wait_time_ms​

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

IsMutable: true

MasterOnly: true

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

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

Между добавлением задачи агента в AgentTaskQueue и её отправкой на BE существует задержка. Увеличение этого параметра позволяет эффективно устранить повторную отправку задач агента.

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

max_agent_task_threads_num​

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

MasterOnly: true

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

remote_fragment_exec_timeout_ms​

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

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. Параметр действует только тогда, когда enable_http_server_v2 имеет значение true.

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

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 (с)

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 (с)

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. Этот параметр подходит для сценариев пакетного обновления данных.

case1case2case3case4
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 ещё не обновлён, он везде задаёт v0v_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 (мс)

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

publish_version_timeout_second​

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

IsMutable: true

MasterOnly: true

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

query_colocate_join_memory_limit_penalty_factor​

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

IsMutable: 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), то при типе столбца c1 bitmap выражение 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 начала транзакции.
  • Все подготовленные задания загрузки завершаются с ошибкой при вызове API фиксации транзакции.
  • Все зафиксированные задания загрузки остаются в ожидании публикации.

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 (с)

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 (с)

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 (с)

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 Load имеют приоритет HIGH, остальные типы — NORMAL. Приоритеты позволяют избежать длительного занятия потока медленным заданием загрузки. Это внутренняя политика оптимизации планирования. В настоящее время приоритет задания нельзя задать вручную. Не изменяйте значение без понимания последствий.

load_checker_interval_second​

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

Интервал работы планировщика загрузки. Задание загрузки последовательно переходит из 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 (с)

Возможность динамической настройки: 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 секунд после перехода в состояние видимости или прерывания. Следует по возможности сокращать этот интервал и длительность каждого цикла очистки.

sync_commit_interval_second​

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

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

Возможность динамической настройки: true

Применяется только к узлу Master FE: true

sync_checker_interval_second​

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

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

max_sync_task_threads_num​

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

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

min_sync_commit_size​

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

Хранение​

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 (с)

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% ниже средней, он получает отметку 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 в кластере. Поэтому следует применять более осторожную стратегию и по возможности избегать перемещения таких групп. Перемещение обычно происходит после отключения или сбоя узла 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, реплики с более медленной компакцией автоматически обнаруживаются и переносятся на другие машины. Условие обнаружения: количество версий самой быстрой реплики превышает 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

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

skip_compaction_slower_replica​

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

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

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

Если задано true, реплика с более медленной компакцией пропускается при выборе реплик для выполнения запроса.

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 (с)

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 (с)

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(с)

Динамическое изменение: 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 (с)

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

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

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

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 SQLServer JDBC Catalog в 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. Отчёт о дисках: 0-1 msta 2. Отчёт sk: 0-1 ms 3. Отчёт о tablet 4. 10000 реплик: 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

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

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 (с)

Возможность динамической настройки: false

Тайм-аут получения FE версии из Meta Service.

Изменение поведения (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 (с)

Возможность динамической настройки: true

Добавлен в версии 4.1.4. Продолжительность окна кратковременных всплесков при ограничении частоты RPC к Meta Service, в секундах. Долгосрочный средний QPS остаётся прежним, но внутри этого окна допускаются всплески.

meta_service_rpc_rate_limit_wait_timeout_ms​

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

Возможность динамической настройки: true

Добавлен в версии 4.1.4. Максимальное время ожидания при ограничении частоты RPC, в миллисекундах. Значение 0 отключает ожидание, поэтому запрос сразу завершается с ошибкой.

На этой странице