Конфигурация 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 можно двумя способами:
-
Веб-страница FE
Откройте в браузере веб-страницу FE
http://fe_host:fe_http_port/variable. Текущие действующие параметры конфигурации FE отображаются в разделеConfigure Info. -
Просмотр с помощью команды
После запуска 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 можно настроить следующими способами:
-
Статическая настройка
Добавьте параметры и задайте их значения в файле
conf/fe.conf. Параметры изfe.confсчитываются при запуске процесса FE. Для параметров, отсутствующих вfe.conf, используются значения по умолчанию. -
Динамическая настройка по протоколу 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;. -
Динамическая настройка по протоколу HTTP
Подробности приведены в разделе Действие Set Config.
Этот способ также позволяет сохранять изменённые параметры. Они записываются в файл
fe_custom.confи продолжают действовать после перезапуска FE.
Примеры
-
Изменение
async_pending_load_task_pool_sizeС помощью
SHOW FRONTEND CONFIG;можно убедиться, что этот параметр нельзя изменять динамически (IsMutableимеет значение false). Добавьте вfe.conf:async_pending_load_task_pool_size = 20Затем перезапустите процесс FE, чтобы настройка вступила в силу.
-
Изменение
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. -
Изменение
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, будут отключены все связанные с ней операции, включая:
- Создание и удаление кластера.
- Добавление свободного Backend, добавление Backend в кластер и балансировку при выводе кластера из эксплуатации.
- Изменение количества Backend в кластере.
- Связывание и миграцию баз данных.
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)
TSO включается параметром enable_feature_changelog, который по умолчанию имеет значение false и не допускает динамического изменения. Ниже перечислены поддерживаемые параметры TSO; сведения об использовании и ограничениях приведены в разделе TSO.
| Параметр | Тип | По умолчанию | Динамическое изменение | Только Master | Описание |
|---|---|---|---|---|---|
tso_service_update_interval_ms | int | 50 ms | false | true | Интервал между проверками необходимости обновления окна выделения. |
tso_max_update_retry_count | int | 3 | true | true | Максимальное количество попыток обновить состояние TSO. |
tso_max_get_retry_count | int | 10 | true | true | Максимальное количество попыток выделить TSO перед сообщением об ошибке. |
tso_service_window_duration_ms | int | 1000 ms | true | true | Продолжительность зарезервированного окна выделения; также ограничивает интервал периодического сохранения состояния. |
tso_clock_backward_startup_threshold_ms | long | 1800000 ms | true | true | Максимально допустимая разница между восстановленной по журналу границей окна и системными часами при калибровке во время запуска. |
tso_time_offset_debug_mode | int | 0 ms | true | false | Смещение часов только для тестирования; не используйте при обычной работе. |
enable_tso_forward_when_counter_full | boolean | true | true | true | Сдвигает физический компонент на 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
-
Определяет, удаляет ли система BE после его успешного вывода из эксплуатации. Если задано true, узел BE удаляется после завершения вывода из эксплуатации. Если false, после успешного вывода узел BE остаётся в состоянии DECOMMISSION, но не удаляется.
Этот параметр полезен в некоторых сценариях. Предположим, изначально каждый узел BE в кластере Doris имел один диск. Через некоторое время было выполнено вертикальное масштабирование: на каждый узел BE добавили 2 новых диска. Поскольку Doris в настоящее время не поддерживает балансировку данных между дисками внутри BE, объём данных на исходном диске может постоянно значительно превышать объём данных на новых дисках. В таком случае можно вручную выполнить балансировку между дисками следующим образом:
- Установите параметр в false.
- Выполните вывод из эксплуатации определённого узла BE. Эта операция перенесёт все данные с BE на другие узлы.
- После завершения операции BE не будет удалён. Отмените состояние вывода из эксплуатации для этого BE. Данные начнут перераспределяться с других узлов BE обратно на этот узел и будут равномерно распределены по всем его дискам.
- Последовательно выполните шаги 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.
Конечные точки /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. Этот параметр подходит для сценариев пакетного обновления данных.
| case1 | case2 | case3 | case4 | |
|---|---|---|---|---|
| enable_sql_cache | false | true | true | false |
| enable_partition_cache | false | false | true | true |
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: один после обновления поддерживает новую версию , а другой — только . Поскольку FE ещё не обновлён, он везде задаёт , и узлы BE обмениваются данными в старом формате. После обновления всех BE обновляется FE. Новый FE задаёт , и весь кластер переключается на новый формат данных.
Значение по умолчанию — 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 этот параметр больше нельзя изменять динамически. Его можно задать только в 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.
- Удалённые метки можно использовать повторно.
- Уменьшение срока хранения снижает потребление памяти 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.
Алгоритм балансировки:
-
Вычисляется средний занятый объём (AUC) по всему кластеру: общий объём данных / общее количество Backend.
-
Верхний порог равен (AUC * (1 + clone_capacity_balance_threshold)).
-
Нижний порог равен (AUC * (1 - clone_capacity_balance_threshold)).
-
Проверяющий процесс Clone пытается переместить реплики с BE выше верхнего порога на BE ниже нижнего порога.
-
disable_colocate_balance
По умолчанию: false
IsMutable: true
MasterOnly: true
Значение true отключает автоматическое перемещение и балансировку таблиц Colocate. Если 'disable_colocate_balance' имеет значение true, ColocateTableBalancer не перемещает и не балансирует таблицы Colocate.
Внимание:
- В обычных условиях отключать балансировку не требуется.
- После отключения балансировки нестабильная таблица Colocate может не восстановиться.
- В результате при выполнении запросов может оказаться невозможно использовать план 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', следующие операции отклоняются:
- Задания загрузки.
- Задания восстановления.
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 этот параметр больше нельзя изменять динамически. Его можно задать только в fe.conf, и он вступает в силу после перезапуска FE; изменение с помощью ADMIN SET FRONTEND CONFIG больше не поддерживается.
force_sqlserver_jdbc_encrypt_false
По умолчанию: false
Возможность динамической настройки: false
Определяет, следует ли принудительно устанавливать параметр encrypt SQLServer JDBC Catalog в false.
Этот параметр отключает шифрование при передаче данных для 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 значение по умолчанию изменено с 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 отключает ожидание, поэтому запрос сразу завершается с ошибкой.