Конфигурация 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 (ms)
IsMutable:true
Тайм-аут tryLock для блокировки Catalog. Обычно менять его не требуется, кроме случаев, когда нужно что-либо протестировать.
enable_bdbje_debug_mode
По умолчанию:false
При значении true FE запускается в режиме отладки BDBJE.
max_bdbje_clock_delta_ms
По умолчанию:5000 (5s)
Максимально допустимое расхождение часов между хостом FE, не являющегося Master, и хостом Master FE. Это значение проверяется каждый раз, когда FE, не являющийся Master, устанавливает соединение с Master FE через BDBJE. Если расхождение часов превышает это значение, соединение разрывается.
metadata_failure_recovery
По умолчанию:false
При значении true FE сбрасывает группу репликации bdbje, то есть удаляет сведения обо всех узлах, участвующих в выборах, и должен запуститься как Master. Если ни один из узлов, участвующих в выборах, не может запуститься, можно скопировать метаданные на другой узел и установить для этого параметра значение true, чтобы попытаться перезапустить FE.
txn_rollback_limit
По умолчанию:100
Максимальное число транзакций, которые bdbje может откатить при попытке повторно присоединиться к группе.
grpc_threadmgr_threads_nums
По умолчанию: 4096
Число потоков для обработки событий grpc в grpc_threadmgr.
bdbje_replica_ack_timeout_second
По умолчанию:10 (s)
Тайм-аут подтверждения реплики при записи в bdbje. При записи относительно больших журналов время ожидания подтверждения может истечь, что приводит к сбою записи журнала. В таком случае можно увеличить это значение.
bdbje_lock_timeout_second
По умолчанию:5
Тайм-аут блокировки для операций bdbje. Если в журнале FE уровня WARN часто встречается LockTimeoutException, попробуйте увеличить это значение.
bdbje_heartbeat_timeout_second
По умолчанию:30
Тайм-аут heartbeat bdbje между Master и Follower. По умолчанию составляет 30 секунд, что совпадает со значением по умолчанию в bdbje. При кратковременных сетевых проблемах или неожиданно длительных паузах Java GC можно увеличить это значение, чтобы снизить вероятность ложных тайм-аутов.
replica_ack_policy
По умолчанию:SIMPLE_MAJORITY
Варианты: ALL, NONE, SIMPLE_MAJORITY
Политика подтверждения реплик bdbje. Подробнее см.: http://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/Durability.ReplicaAckPolicy.html
replica_sync_policy
По умолчанию:SYNC
Варианты:SYNC, NO_SYNC, WRITE_NO_SYNC
Политика синхронизации bdbje для Follower FE.
master_sync_policy
По умолчанию:SYNC
Варианты:SYNC, NO_SYNC, WRITE_NO_SYNC
Политика синхронизации bdbje для Master FE. Если развёрнут только один Follower FE, установите значение 'SYNC'. Если развёрнуто более 3 Follower FE, для этого параметра и параметра 'replica_sync_policy' можно установить WRITE_NO_SYNC. Подробнее см.: http://docs.oracle.com/cd/E17277_02/html/java/com/sleepycat/je/Durability.SyncPolicy.html
bdbje_reserved_disk_bytes
Желаемый верхний предел объёма зарезервированного пространства, сохраняемого в реплицируемой среде JE, в байтах.
По умолчанию: 1073741824
Динамическая настройка: false
Только для узла Master FE: false
ignore_meta_check
По умолчанию:false
IsMutable:true
При значении true FE, не являющийся Master, игнорирует отставание своих метаданных от Master FE, даже если оно превышает meta_delay_toleration_second. Такой FE продолжает обслуживать запросы на чтение. Это полезно, если по какой-либо причине нужно остановить Master FE на относительно длительное время, сохранив возможность чтения через остальные FE.
meta_delay_toleration_second
По умолчанию: 300 (5 мин)
FE, не являющийся Master, прекращает обслуживание, если отставание метаданных превышает meta_delay_toleration_second.
edit_log_port
По умолчанию:9010
Порт bdbje.
edit_log_type
По умолчанию:BDB
Тип журнала изменений. BDB: запись журнала в bdbje. LOCAL: устарел.
edit_log_roll_num
По умолчанию:50000
IsMutable:true
MasterOnly:true
Master FE сохраняет образ после каждых edit_log_roll_num записей журнала метаданных.
force_do_metadata_checkpoint
По умолчанию:false
IsMutable:true
MasterOnly:true
При значении true поток создания контрольных точек создаёт контрольную точку независимо от процента использования памяти JVM.
metadata_checkpoint_memory_threshold
По умолчанию:60 (60%)
IsMutable:true
MasterOnly:true
Если процент использования памяти JVM (heap или old mem pool) превышает этот порог, поток создания контрольных точек не выполняет работу, чтобы избежать OOM.
max_same_name_catalog_trash_num
Задаёт максимальное число одноимённых объектов метаданных в корзине Catalog. При превышении этого значения самый ранее удалённый объект метаданных удаляется окончательно и не подлежит восстановлению. 0 означает, что одноимённые объекты не сохраняются. < 0 означает отсутствие ограничения.
Примечание: одноимённость метаданных проверяется в определённых пределах. Например, базы данных с одинаковыми именами учитываются в пределах одного кластера, таблицы с одинаковыми именами — в пределах одной базы данных (с одинаковым идентификатором базы данных), а секции с одинаковыми именами — в пределах одной базы данных (с одинаковым идентификатором базы данных) и одной таблицы (с одинаковым идентификатором таблицы).
По умолчанию: 3
Динамическая настройка: true
Только для узла Master FE: true
cluster_id
По умолчанию:-1
Узлы (FE или BE) считаются принадлежащими одному кластеру Doris, если у них одинаковый идентификатор кластера. Обычно это случайное целое число, генерируемое при первом запуске Master FE. Его также можно задать вручную.
heartbeat_mgr_blocking_queue_size
По умолчанию:1024
MasterOnly:true
Размер блокирующей очереди для хранения задач heartbeat в heartbeat_mgr.
heartbeat_mgr_threads_num
По умолчанию:8
MasterOnly:true
Число потоков для обработки событий heartbeat в heartbeat_mgr.
disable_cluster_feature
По умолчанию:true
IsMutable:true
Функция нескольких кластеров будет объявлена устаревшей в версии 0.12. Установка этого параметра в true отключает все связанные с ней операции, включая:
- Создание и удаление кластера.
- Добавление свободного 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 и должна быть записана в fe.conf перед включением. Иначе FE будут отклонять запросы метаданных друг друга, и синхронизация метаданных завершится с ошибкой.
enable_multi_tags
По умолчанию: false
Динамическая настройка: false
Только для узла Master FE: true
Включает поддержку нескольких тегов для одного BE.
initial_root_password
Задаёт начальный пароль пользователя root, зашифрованный с помощью 2-этапного SHA-1. Значение по умолчанию — '', что означает отсутствие пароля root. Последующие операции set password для пользователя root переопределяют начальный пароль root.
Пример: если нужно задать пароль в открытом виде root@123, можно выполнить SQL-команду Doris select password('root@123'), чтобы получить зашифрованный пароль *A00C34073A26B40AB4307650BFB9309D6BFA6999.
По умолчанию: пустая строка
Динамическая настройка: false
Только для узла Master FE: true
enable_cooldown_replica_affinity
Позволяет выбрать, следует ли в первую очередь использовать для сканирования реплику, перенесённую в холодное хранилище. По умолчанию включено.
По умолчанию: true
Динамическая настройка: true
Только для узла Master FE: false
Службы
arrow_flight_deferred_query_idle_timeout_second
По умолчанию: 3600 (секунд)
Динамическая настройка: true
Только для узла Master FE: false
Поддерживается с версии 4.1.5. Запрос Arrow Flight SQL, который сканирует внешние таблицы пакетами, должен сохранять свой FE Coordinator после возврата GetFlightInfo, чтобы BE могли продолжать получать части данных, когда клиент читает результаты через DoGet. Эта настройка ограничивает время, в течение которого такой запрос удерживает ресурсы в неактивном сеансе. Отсчёт начинается при запуске запроса, а период никогда не бывает короче тайм-аута выполнения запроса. По истечении срока освобождаются Coordinator, слот очереди Workload Group и запись active_queries, но сеанс остаётся открытым и по-прежнему регулируется wait_timeout. Установите 0, чтобы отключить это ограничение времени.
query_port
По умолчанию:9030
Порт сервера MySQL на FE.
arrow_flight_sql_port
По умолчанию:-1
Порт сервера Arrow Flight SQL.
frontend_address
Статус: устарел, использование не рекомендуется. В дальнейшем параметр может быть удалён.
Тип: string
Описание: позволяет явно задать IP-адрес FE вместо его получения с помощью InetAddress.getByName. Обычно используется, когда InetAddress.getByName не даёт ожидаемого результата. Поддерживается только IP-адрес, имя хоста не поддерживается.
Значение по умолчанию: 0.0.0.0
priority_networks
По умолчанию:none
Задаёт стратегию выбора для серверов с несколькими IP-адресами. Обратите внимание, что этому списку должен соответствовать не более чем один IP-адрес. Список записывается в формате CIDR с разделителем «точка с запятой», например 10.10.10.0/24. Если ни один IP-адрес не соответствует правилу, адрес выбирается случайным образом.
http_port
По умолчанию:8030
Порт привязки HTTP. В настоящее время порты HTTP всех FE должны совпадать.
https_port
По умолчанию:8050
Порт привязки HTTPS. В настоящее время порты HTTPS всех FE должны совпадать.
enable_https
По умолчанию:false
Флаг включения HTTPS. Если значение равно false, поддерживается HTTP. Иначе поддерживаются и HTTP, и HTTPS, а HTTP-запросы автоматически перенаправляются на HTTPS. Если enable_https имеет значение true, необходимо указать сведения о сертификате SSL в fe.conf.
enable_ssl
По умолчанию:true
При значении true Doris устанавливает с MySQL зашифрованный канал на основе протокола SSL.
qe_max_connection
По умолчанию:1024
Максимальное число соединений на один FE.
check_java_version
По умолчанию:true
Doris проверяет совместимость версий Java, используемых для компиляции и выполнения. При несовместимости выводится сообщение об исключении из-за несовпадения версий Java, и запуск прекращается.
rpc_port
По умолчанию:9020
Порт сервера Thrift на FE.
thrift_server_type
Этот параметр задаёт модель обслуживания, используемую службой Thrift на FE. Имеет тип String и не учитывает регистр.
Если значение равно 'SIMPLE', используется модель 'TSimpleServer', которая обычно не подходит для производственной среды и предназначена только для тестирования.
Если значение равно 'THREADED', используется модель 'TThreadedSelectorServer' — модель неблокирующего ввода-вывода, а именно master-slave Reactor. Она позволяет своевременно обрабатывать большое число одновременных запросов на соединение и хорошо работает в большинстве сценариев.
Если значение равно THREAD_POOL, используется модель TThreadPoolServer с блокирующим вводом-выводом. Для обработки пользовательских соединений применяется пул потоков, а число одновременных соединений ограничено числом потоков в пуле. Если число одновременных запросов можно оценить заранее и допустим достаточный расход ресурсов на потоки, эта модель обеспечивает лучшую производительность. Она используется по умолчанию.
thrift_server_max_worker_threads
По умолчанию:4096
Максимальное число рабочих потоков сервера Thrift.
thrift_backlog_num
По умолчанию:1024
Значение backlog_num для сервера Thrift. При увеличении backlog_num убедитесь, что оно больше значения настройки Linux /proc/sys/net/core/somaxconn.
thrift_client_timeout_ms
По умолчанию:0
Настройка тайм-аута соединения и тайм-аута сокета для сервера Thrift.
Для thrift_client_timeout_ms устанавливается нулевое значение, чтобы предотвратить тайм-аут чтения.
thrift_max_message_size
По умолчанию: 100MB
Максимальный размер принимаемого сообщения сервера Thrift в байтах. Если размер сообщения, отправленного клиентом, превышает это ограничение, сервер Thrift отклоняет запрос и закрывает соединение. В результате клиент получает ошибку: «connection has been closed by peer». В таком случае можно попробовать увеличить этот параметр.
use_compact_thrift_rpc
По умолчанию: true
Определяет, следует ли использовать сжатый формат для передачи структуры плана запроса. После включения размер структуры плана запроса может уменьшиться примерно на 50%, что позволяет избежать некоторых ошибок «send fragment timeout». Однако в некоторых сценариях с большим числом одновременных коротких запросов параллелизм может снизиться примерно на 10%.
grpc_max_message_size_bytes
По умолчанию:1G
Задаёт начальный размер окна управления потоком канала клиента GRPC, а также максимальный размер сообщения. При большом наборе результатов может потребоваться увеличить это значение.
max_mysql_service_task_threads_num
По умолчанию:4096
Число потоков, отвечающих за события Task.
mysql_service_io_threads_num
По умолчанию:4
Число потоков, отвечающих за события ввода-вывода, когда FE запускает сервер MySQL на основе модели NIO.
mysql_nio_backlog_num
По умолчанию:1024
Значение backlog_num для сервера MySQL NIO. При увеличении backlog_num следует одновременно увеличить значение в файле Linux /proc/sys/net/core/somaxconn.
broker_timeout_ms
По умолчанию:10000 (10s)
Тайм-аут RPC Broker по умолчанию.
backend_rpc_timeout_ms
Тайм-аут отправки RPC-запроса от FE к BE в миллисекундах.
По умолчанию: 60000
Динамическая настройка: false
Только для узла Master FE: true
drop_backend_after_decommission
По умолчанию:false
IsMutable:true
MasterOnly:true
-
Этот параметр определяет, удаляет ли система BE после его успешного вывода из эксплуатации. При значении true узел BE удаляется после успешного вывода из эксплуатации. При значении false BE остаётся в состоянии DECOMMISSION, но не удаляется.
Эта настройка полезна в некоторых сценариях. Предположим, что изначально в кластере Doris у каждого узла BE был один диск. Через некоторое время система была вертикально масштабирована: на каждый узел 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. Если число последовательных сбоев heartbeat превышает это значение, BE переводится в состояние dead. Параметр подходит для сред регрессионного тестирования и позволяет уменьшить число массовых сбоев регрессионных тестов из-за случайных сбоев heartbeat.
По умолчанию: 1
Динамическая настройка: true
Только для узла Master FE: true
abort_txn_after_lost_heartbeat_time_second
Время до прерывания транзакций после потери heartbeat. Значение по умолчанию — 300, то есть транзакции BE прерываются через 300s после потери heartbeat.
По умолчанию: 300(s)
Динамическая настройка: true
Только для узла Master FE: true
enable_access_file_without_broker
По умолчанию:false
IsMutable:true
MasterOnly:true
Этот параметр позволяет попытаться обойти Broker при доступе к BOS или другому облачному хранилищу через Broker.
agent_task_resend_wait_time_ms
По умолчанию:5000
IsMutable:true
MasterOnly:true
Этот параметр определяет возможность повторной отправки задачи Agent, если для agent_task задано create_time. ReportHandler может повторно отправить задачу Agent только при условии current_time - create_time > agent_task_resend_wait_time_ms.
В настоящее время параметр в основном используется для решения проблемы повторной отправки задач Agent PUBLISH_VERSION. Текущее значение по умолчанию, 5000, является экспериментальным.
Поскольку между помещением задач Agent в AgentTaskQueue и их отправкой на BE существует определённая задержка, увеличение этого значения позволяет эффективно решить проблему повторной отправки задач Agent.
Однако при этом увеличивается время до повторного выполнения задач Agent, которые не удалось отправить или выполнить.
max_agent_task_threads_num
По умолчанию:4096
MasterOnly:true
Максимальное число потоков для обработки задач Agent в пуле потоков задач Agent.
remote_fragment_exec_timeout_ms
По умолчанию:30000 (ms)
IsMutable:true
Тайм-аут выполнения асинхронного удалённого фрагмента. Обычно такой фрагмент выполняется за короткое время. При высокой нагрузке на систему попробуйте увеличить этот тайм-аут.
auth_token
По умолчанию:пусто
Токен кластера для внутренней аутентификации.
enable_http_server_v2
По умолчанию: true после официального выпуска версии 0.14.0, до этого — false.
HTTP Server V2 реализован на SpringBoot и использует архитектуру с разделением клиентской и серверной частей. Новый пользовательский веб-интерфейс доступен только при включённом HTTPv2.
http_api_extra_base_path
В некоторых средах развёртывания требуется указать дополнительный базовый путь как общий префикс HTTP API. Этот параметр позволяет задать такой префикс.
После настройки значение параметра можно получить через интерфейс GET /api/basepath. Новый интерфейс также сначала попытается получить этот базовый путь для формирования URL. Параметр действует только при значении true у enable_http_server_v2.
По умолчанию значение пустое, то есть путь не задан.
jetty_server_acceptors
По умолчанию:2
jetty_server_selectors
По умолчанию:4
jetty_server_workers
По умолчанию:0
Эти три параметра задают простую модель потоков Jetty, состоящую из трёх пулов: acceptors, selectors и workers. Потоки acceptors принимают новые соединения и передают их потокам selectors для разбора HTTP-сообщений, после чего потоки workers обрабатывают запросы. Первые два пула используют неблокирующую модель: один поток может обслуживать чтение и запись множества сокетов, поэтому число потоков в этих пулах невелико.
Для большинства проектов достаточно 1-2 потоков acceptors и от 2 до 4 потоков selectors. Потоки workers выполняют блокирующую бизнес-логику, часто с большим числом операций с базой данных, поэтому их требуется больше. Конкретное число зависит от QPS и доли операций ввода-вывода в приложении. Чем выше QPS, тем больше нужно потоков; чем выше доля ввода-вывода, тем больше потоков ожидает его завершения и тем больше потоков требуется в целом.
По умолчанию размер пула workers не задан; настройте его по потребности.
jetty_server_max_http_post_size
По умолчанию:100 * 1024 * 1024 (100MB)
Максимальное число байтов в файле, загружаемом методом put или post. Значение по умолчанию: 100MB.
jetty_server_max_http_header_size
По умолчанию:1048576 (1M)
Параметр размера HTTP-заголовка. Значение по умолчанию — 1M.
http_sql_submitter_max_worker_threads
По умолчанию:2
Максимальное число рабочих потоков компонента отправки SQL по HTTP.
http_load_submitter_max_worker_threads
По умолчанию:2
Максимальное число рабочих потоков компонента загрузки по HTTP.
Конечные точки /api/upload удалены в версии 4.1.4, и этот параметр конфигурации удалён вместе с ними. См. Действие Upload.
Движок запросов
default_max_query_instances
Значение по умолчанию, используемое, когда свойство пользователя max_query_instances меньше или равно 0. Этот параметр ограничивает максимальное число экземпляров для пользователя. Значение меньше или равно 0 означает отсутствие ограничения.
Значение по умолчанию — -1.
max_query_retry_time
По умолчанию:3
IsMutable:true
Число повторных попыток выполнения запроса. Запрос может быть выполнен повторно, если возникло исключение RPC и пользователю ещё не отправлен результат. Это число можно уменьшить, чтобы избежать лавинообразных сбоев.
max_dynamic_partition_num
По умолчанию:500
IsMutable:true
MasterOnly:true
Ограничивает максимальное число секций, создаваемых при создании таблицы с динамическим секционированием, чтобы избежать одновременного создания слишком большого числа секций. Число определяется параметрами "start" и "end" динамического секционирования.
dynamic_partition_enable
По умолчанию:true
IsMutable:true
MasterOnly:true
Включает планировщик динамических секций. По умолчанию включён.
dynamic_partition_check_interval_seconds
По умолчанию:600 (s)
IsMutable:true
MasterOnly:true
Определяет частоту проверки динамических секций.
max_multi_partition_num
По умолчанию:4096
IsMutable:true
MasterOnly:true
Задаёт префикс имён секций при множественном создании секций. Действует только при множественном создании секций и не влияет на динамические секции. Префикс по умолчанию — "p_".
multi_partition_name_prefix
По умолчанию:p_
IsMutable:true
MasterOnly:true
Задаёт префикс имён секций при множественном создании секций. Действует только при множественном создании секций и не влияет на динамические секции. Префикс по умолчанию — "p_".
partition_in_memory_update_interval_secs
По умолчанию:300 (s)
IsMutable:true
MasterOnly:true
Интервал обновления глобальной информации о секциях в памяти.
enable_concurrent_update
По умолчанию:false
IsMutable:false
MasterOnly:true
Включает параллельное обновление.
lower_case_table_names
По умолчанию:0
IsMutable:false
MasterOnly:true
Этот параметр можно задать только при инициализации кластера. После завершения инициализации его нельзя изменить при перезапуске или обновлении кластера.
0: имена таблиц сохраняются в заданном виде, сравнение учитывает регистр. 1: имена таблиц сохраняются в нижнем регистре, сравнение не учитывает регистр. 2: имена таблиц сохраняются в заданном виде, но сравниваются в нижнем регистре.
table_name_length_limit
По умолчанию:64
IsMutable:true
MasterOnly:true
Ограничивает максимальную длину имени таблицы.
cache_enable_sql_mode
По умолчанию:true
IsMutable:true
MasterOnly:false
Если этот переключатель включён, набор результатов SQL-запроса кэшируется. Кэширование выполняется, если интервал с момента последнего обновления версии во всех секциях всех таблиц запроса превышает cache_last_version_interval_second, число строк результата меньше cache_result_max_row_count, а объём данных меньше cache_result_max_data_size. Следующий такой же SQL-запрос использует кэш.
При значении true FE включает кэширование результатов SQL. Этот вариант подходит для сценариев с офлайн-обновлением данных.
| Случай 1 | Случай 2 | Случай 3 | Случай 4 | |
|---|---|---|---|---|
| enable_sql_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 (ms)
Минимальный интервал между двумя операциями публикации версии.
publish_version_timeout_second
По умолчанию:30 (s)
IsMutable:true
MasterOnly:true
Максимальное время ожидания завершения всех задач публикации версии для одной транзакции.
query_colocate_join_memory_limit_penalty_factor
По умолчанию:1
IsMutable:true
MasterOnly:true
Для экземпляра PlanFragment операции Colocate Join: memory_limit = exec_mem_limit / min (query_colocate_join_memory_limit_penalty_factor, instance_num).
rewrite_count_distinct_to_bitmap_hll
По умолчанию: true
Это переменная сеанса, действующая на уровне сеанса.
- Тип: boolean
- Описание: Только для таблиц модели AGG. Если переменная равна true и запрос пользователя содержит агрегатные функции, например count(distinct c1), то при типе bitmap у столбца c1 выражение count distinct переписывается в bitmap_union_count(c1). Если столбец c1 имеет тип hll, count distinct переписывается в hll_union_agg(c1). При значении false переписывание не выполняется.
Загрузка и экспорт
streaming_cdc_fetch_splits_batch_size
По умолчанию: 16 (100 до 4.1.5)
Динамическая настройка: true
Только для узла Master FE: true
Число частей данных, получаемых одним запросом Streaming CDC. В версии 4.1.5 значение по умолчанию уменьшено со 100 до 16, чтобы сократить размер каждого запроса.
max_export_history_job_num
По умолчанию: 1000
Динамическая настройка: true
Только для узла Master FE: true
Порог очистки истории заданий EXPORT. Начиная с версии 4.1.5, очистка удаляет только задания в состояниях FINISHED / CANCELLED и сохраняет выполняющиеся задания, поэтому из-за активных заданий общее число записей может превышать это значение.
enable_pipeline_load
Значение по умолчанию: true
IsMutable: true
Определяет, следует ли использовать движок Pipeline для выполнения заданий загрузки, таких как Streamload.
enable_vectorized_load
По умолчанию: true
Включает векторизованную загрузку.
enable_new_load_scan_node
По умолчанию: true
Включает узел сканирования файлов.
default_max_filter_ratio
По умолчанию:0
IsMutable:true
MasterOnly:true
Максимальная доля данных, которые могут быть отфильтрованы, например из-за некорректного формата. Значение по умолчанию — 0.
max_running_txn_num_per_db
По умолчанию:1000
IsMutable:true
MasterOnly:true
Этот параметр в основном ограничивает число одновременно выполняемых заданий загрузки в одной базе данных.
Если в кластере выполняется слишком много заданий загрузки, при отправке новых заданий может возникнуть ошибка:
current running txns on db xxx is xx, larger than limit xx
Эта ошибка означает, что число выполняющихся в кластере заданий загрузки превышает настроенное значение. В таком случае рекомендуется подождать на стороне приложения и повторить попытку загрузки.
Если используется Connector, значение этого параметра можно увеличить; допустимы значения в несколько тысяч.
using_old_load_usage_pattern
По умолчанию:false
IsMutable:true
MasterOnly:true
При значении true оператор insert возвращает пользователю метку даже при ошибке обработки. По этой метке пользователь может проверить состояние задания загрузки. Значение по умолчанию — false: если при выполнении insert возникает ошибка, исключение напрямую возвращается клиенту пользователя без метки загрузки.
disable_load_job
По умолчанию:false
IsMutable:true
MasterOnly:true
Если установлено значение true:
- Все ожидающие задания загрузки завершаются с ошибкой при вызове API begin txn.
- Все подготовленные задания загрузки завершаются с ошибкой при вызове API commit txn.
- Все зафиксированные задания загрузки остаются в ожидании публикации.
commit_timeout_second
По умолчанию:30
IsMutable:true
MasterOnly:true
Максимальное время ожидания завершения вставки всех данных перед фиксацией транзакции. Это тайм-аут команды "commit" в секундах.
max_unfinished_load_job
По умолчанию:1000
IsMutable:true
MasterOnly:true
Максимальное число заданий загрузки, включая PENDING, ETL, LOADING и QUORUM_FINISHED. При превышении этого числа отправка новых заданий загрузки запрещена.
db_used_data_quota_update_interval_secs
По умолчанию:300 (s)
IsMutable:true
MasterOnly:true
Фоновый поток Master обновляет сведения об использованном объёме данных базы данных для её менеджера транзакций каждые db_used_data_quota_update_interval_secs.
Для повышения производительности загрузки при проверке превышения квоты перед загрузкой данных использованный объём базы данных не вычисляется в реальном времени. Вместо этого используется значение, периодически обновляемое фоновым потоком.
Этот параметр задаёт интервал обновления значения использованного объёма данных базы данных.
disable_show_stream_load
По умолчанию:false
IsMutable:true
MasterOnly:true
Отключает show stream load и очищает записи Stream Load в памяти.
max_stream_load_record_size
По умолчанию:5000
IsMutable:true
MasterOnly:true
Максимальное число последних записей Stream Load, которые по умолчанию могут храниться в памяти.
fetch_stream_load_record_interval_second
По умолчанию:120
IsMutable:true
MasterOnly:true
Интервал получения записей Stream Load.
max_bytes_per_broker_scanner
По умолчанию:500 * 1024 * 1024 * 1024L (500G)
IsMutable:true
MasterOnly:true
Максимальное число байтов, которое один сканер Broker может обработать в одном задании Broker Load. Обычно на каждом Backend работает один сканер Broker.
default_load_parallelism
По умолчанию: 8
IsMutable:true
MasterOnly:true
Параллелизм плана выполнения Broker Load на одном узле по умолчанию.
Если пользователь задаёт параллелизм при отправке задания Broker Load, этот параметр игнорируется.
Этот параметр определяет параллелизм заданий загрузки совместно с другими настройками, такими как max broker concurrency и min bytes per broker scanner.
max_broker_concurrency
По умолчанию:10
IsMutable:true
MasterOnly:true
Максимальное число одновременно работающих сканеров Broker.
min_bytes_per_broker_scanner
По умолчанию:67108864L (64M)
IsMutable:true
MasterOnly:true
Минимальное число байтов, считываемых одним сканером Broker.
period_of_auto_resume_min
По умолчанию:5 (s)
IsMutable:true
MasterOnly:true
Интервал автоматического возобновления Routine Load.
max_tolerable_backend_down_num
По умолчанию:0
IsMutable:true
MasterOnly:true
Если хотя бы один BE недоступен, Routine Load не может быть возобновлён автоматически.
max_routine_load_task_num_per_be
По умолчанию:5
IsMutable:true
MasterOnly:true
Максимальное число одновременно выполняемых задач Routine Load на одном BE. Ограничивает число задач Routine Load, отправляемых на BE, и также должно быть меньше значения параметра BE 'routine_load_thread_pool_size' (по умолчанию 10), задающего размер пула потоков задач Routine Load на BE.
max_routine_load_task_concurrent_num
По умолчанию:5
IsMutable:true
MasterOnly:true
Максимальное число одновременно выполняемых задач в одном задании Routine Load.
max_routine_load_job_num
По умолчанию:100
Максимальное число заданий Routine Load, включая NEED_SCHEDULED, RUNNING и PAUSE.
desired_max_waiting_jobs
По умолчанию:100
IsMutable:true
MasterOnly:true
Число ожидающих заданий Routine Load и загрузки версии 2 по умолчанию. Это целевое число. В некоторых ситуациях, например при смене Master, текущее число может превышать desired_max_waiting_jobs.
disable_hadoop_load
По умолчанию:false
IsMutable:true
MasterOnly:true
Загрузка с использованием кластера Hadoop в будущем будет объявлена устаревшей. Установите true, чтобы отключить этот тип загрузки.
enable_spark_load
По умолчанию:false
IsMutable:true
MasterOnly:true
Позволяет временно включить Spark Load. По умолчанию не включён.
Примечание: этот параметр удалён в версии 1.2; spark_load включён по умолчанию.
spark_load_checker_interval_second
По умолчанию:60
Интервал запуска планировщика Spark Load, по умолчанию 60 секунд.
async_loading_load_task_pool_size
По умолчанию:10
IsMutable:false
MasterOnly:true
Размер пула исполнителей задач loading_load. Он ограничивает максимальное число одновременно выполняемых задач loading_load.
В настоящее время ограничивает только задачи loading_load для Broker Load.
async_pending_load_task_pool_size
По умолчанию:10
IsMutable:false
MasterOnly:true
Размер пула исполнителей задач pending_load. Он ограничивает максимальное число одновременно выполняемых задач pending_load.
В настоящее время ограничивает только задачи pending_load для Broker Load и Spark Load.
Значение должно быть меньше 'max_running_txn_num_per_db'.
async_load_task_pool_size
По умолчанию:10
IsMutable:false
MasterOnly:true
Этот параметр предназначен только для совместимости со старыми версиями. Он заменён параметром async_loading_load_task_pool_size и в будущем будет удалён.
enable_single_replica_load
По умолчанию:false
IsMutable:true
MasterOnly:true
Включает запись в одну реплику для Stream Load и Broker Load.
min_load_timeout_second
По умолчанию:1 (1s)
IsMutable:true
MasterOnly:true
Минимальный тайм-аут Stream Load, применяемый ко всем типам загрузки.
max_stream_load_timeout_second
По умолчанию: 259200 (3 дня)
IsMutable:true
MasterOnly:true
Этот параметр специально ограничивает настройку тайм-аута Stream Load. Он предотвращает ситуацию, когда неудачные транзакции Stream Load невозможно быстро отменить из-за слишком большого тайм-аута, заданного пользователем.
max_load_timeout_second
По умолчанию: 259200 (3 дня)
IsMutable:true
MasterOnly:true
Максимальный тайм-аут загрузки для всех типов загрузки, кроме Stream Load.
stream_load_default_timeout_second
По умолчанию: 86400 * 3 (3 дня)
IsMutable:true
MasterOnly:true
Тайм-аут Stream Load и потокового Mini Load по умолчанию.
stream_load_default_precommit_timeout_second
По умолчанию:3600(s)
IsMutable:true
MasterOnly:true
Тайм-аут предварительной отправки Stream Load по умолчанию.
stream_load_default_memtable_on_sink_node
По умолчанию:false
IsMutable:true
MasterOnly:true
Включает memtable на узле sink для Stream Load по умолчанию,
если HTTP-заголовок memtable_on_sink_node не задан.
insert_load_default_timeout_second
По умолчанию: 3600 (1 час)
IsMutable:true
MasterOnly:true
Тайм-аут Insert Load по умолчанию.
mini_load_default_timeout_second
По умолчанию: 3600 (1 час)
IsMutable:true
MasterOnly:true
Тайм-аут непотокового Mini Load по умолчанию.
broker_load_default_timeout_second
По умолчанию: 14400 (4 часа)
IsMutable:true
MasterOnly:true
Тайм-аут Broker Load по умолчанию.
spark_load_default_timeout_second
По умолчанию: 86400 (1 день)
IsMutable:true
MasterOnly:true
Тайм-аут Spark Load по умолчанию.
hadoop_load_default_timeout_second
По умолчанию: 86400 * 3 (3 дня)
IsMutable:true
MasterOnly:true
Тайм-аут Hadoop Load по умолчанию.
load_running_job_num_limit
По умолчанию:0
IsMutable:true
MasterOnly:true
Ограничивает число выполняющихся задач загрузки. Значение по умолчанию — 0, без ограничения.
load_input_size_limit_gb
По умолчанию:0
IsMutable:true
MasterOnly:true
Ограничивает объём входных данных задания Load. Значение по умолчанию — 0, без ограничения.
load_etl_thread_num_normal_priority
По умолчанию:10
Число одновременно выполняемых заданий загрузки ETL с приоритетом NORMAL. Изменяйте параметр только при понимании последствий.
load_etl_thread_num_high_priority
По умолчанию:3
Число одновременно выполняемых заданий загрузки ETL с приоритетом HIGH. Изменяйте параметр только при понимании последствий.
load_pending_thread_num_normal_priority
По умолчанию:10
Число одновременно обрабатываемых ожидающих заданий загрузки с приоритетом NORMAL. Изменяйте параметр только при понимании последствий.
load_pending_thread_num_high_priority
По умолчанию:3
Число одновременно обрабатываемых ожидающих заданий загрузки с приоритетом HIGH. Приоритет задания загрузки может быть HIGH или NORMAL. Все задания загрузки Mini Batch имеют приоритет HIGH, остальные типы заданий загрузки — NORMAL. Приоритеты используются, чтобы медленное задание загрузки не занимало поток надолго. Это внутренняя оптимизированная политика планирования. В настоящее время приоритет задания нельзя задать вручную. Изменяйте параметр только при понимании последствий.
load_checker_interval_second
По умолчанию:5 (s)
Интервал запуска планировщика загрузки. Задание загрузки последовательно переходит из PENDING в LOADING и затем в FINISHED. Планировщик переводит задание из PENDING в LOADING, а обработчик обратного вызова транзакции — из LOADING в FINISHED. Поэтому, если верхний предел параллелизма не достигнут, задание загрузки завершается максимум за один интервал.
s3_load_endpoint_white_list
По умолчанию: пусто
Динамическая настройка: false
Белый список конечных точек, разрешённых для S3 Load. Несколько значений разделяются запятыми, например s3_load_endpoint_white_list=a,b,c. Пустое значение означает, что белый список не задан.
Из соображений безопасности, начиная с версии 4.1.4 этот параметр больше нельзя изменять динамически. Его можно задать только в fe.conf, и он вступает в силу после перезапуска FE; изменить его с помощью ADMIN SET FRONTEND CONFIG больше нельзя.
resource_group_load_success_quorum
По умолчанию: пусто
Динамическая настройка: true
Только для узла Master FE: true
Добавлен в версии 4.1.4. Задаёт для каждой группы ресурсов, то есть Location Tag узлов BE, минимальное число реплик, которые должны быть успешно записаны в этой группе при фиксации транзакции загрузки.
Значение представляет собой список, разделённый запятыми, каждый элемент которого имеет формат <resource_group>:<min_success_replicas>, где <min_success_replicas> — неотрицательное целое число. Например:
resource_group_load_success_quorum=group_a:2,group_b:1
Если при фиксации транзакции число успешно записанных реплик в настроенной группе ресурсов меньше заданного значения, транзакция не фиксируется. Группы ресурсов, отсутствующие в конфигурации, не проверяются. Элементы с неверным форматом игнорируются, а в fe.log выводится предупреждение.
Используйте этот параметр при развёртывании в нескольких центрах обработки данных или зонах доступности, чтобы загрузка считалась успешной только после записи заданного числа реплик в указанном центре обработки данных.
enable_adaptive_random_bucket_load
По умолчанию: true
Динамическая настройка: true
Только для узла Master FE: true
Добавлен в версии 4.1.4. Включает адаптивную загрузку в случайные бакеты.
При включении FE отправляет узлам BE сведения о расположении tablet, а каждый BE определяет по ним набор локальных бакетов, для которых он хранит основную реплику. Как только объём данных, записанных в один tablet, превышает порог (по умолчанию 200 MB), запись переключается между локальными бакетами. Это снижает нагрузку на память при загрузке и повышает пропускную способность загрузки в таблицы со случайным распределением по бакетам (DISTRIBUTED BY RANDOM). Механизм одинаково применяется ко всем способам загрузки.
На эту функцию также влияют параметры BE enable_table_memtable_flush_backpressure и table_memtable_flush_pending_count_limit. См. Конфигурация BE.
enable_forward_group_commit_stream_load_to_follower
По умолчанию: false
Динамическая настройка: true
Только для узла Master FE: true
Добавлен в версии 4.1.4. Включает перенаправление запросов Stream Load, использующих Group Commit, на Follower FE.
При включении запросы Stream Load в режиме Group Commit перенаправляются на Follower FE циклически, что распределяет нагрузку по объединению запросов в пакеты между несколькими FE.
Обратите внимание: перенаправление не поддерживается, если свойство light_schema_change целевой таблицы имеет значение false; такие запросы завершаются с ошибкой.
streaming_job_snapshot_offset_persist_interval_sec
По умолчанию: 300 (s)
Динамическая настройка: true
Только для узла Master FE: true
Добавлен в версии 4.1.4. Минимальный интервал в секундах между двумя сохранениями смещения на этапе полного снимка Streaming Job, то есть задания непрерывной загрузки. Меньшее значение сокращает объём данных, которые нужно повторно обработать после перезапуска задания, но увеличивает частоту записи метаданных.
label_keep_max_second
По умолчанию:3 * 24 * 3600 (3 дня)
IsMutable:true
MasterOnly:true
Метки завершённых или отменённых заданий загрузки удаляются через label_keep_max_second.
- Удалённые метки можно использовать повторно.
- Уменьшение срока снижает использование памяти FE, поскольку до удаления сведения обо всех заданиях загрузки хранятся в памяти.
При большом числе одновременных операций записи, если накопилась большая очередь заданий и вызов службы Frontend завершается с ошибкой, проверьте журнал. Если запись метаданных слишком долго ожидает блокировки, можно уменьшить это значение до 12 часов, до 6 часов или ещё меньше.
streaming_label_keep_max_second
По умолчанию: 43200 (12 часов)
IsMutable:true
MasterOnly:true
Применяется к некоторым часто выполняемым операциям загрузки, таким как INSERT, STREAMING LOAD и ROUTINE_LOAD_TASK. По истечении срока удаляется завершённое задание или задача.
label_clean_interval_second
По умолчанию:1 * 3600 (1 час)
Очистка меток загрузки запускается каждые label_clean_interval_second и удаляет устаревшие задания.
label_regex_length
Значение по умолчанию: 128 (символов)
Максимальная длина метки загрузки в символах, по умолчанию 128 символов.
transaction_clean_interval_second
По умолчанию:30
Транзакция очищается через transaction_clean_interval_second секунд после перехода в состояние visible или aborted. Этот интервал следует делать как можно короче, а каждый цикл очистки выполнять как можно быстрее.
sync_commit_interval_second
Максимальный интервал между фиксациями транзакций. Если по истечении этого времени в канале остаются неотправленные данные, потребитель уведомляет канал о необходимости фиксации транзакции.
По умолчанию: 10 (секунд)
Динамическая настройка: true
Только для узла Master FE: true
sync_checker_interval_second
Проверка состояния выполнения задания синхронизации данных.
По умолчанию: 10 (s)
max_sync_task_threads_num
Максимальное число потоков в пуле потоков заданий синхронизации данных.
По умолчанию:10
min_sync_commit_size
Минимальное число событий, необходимое для фиксации транзакции. Если FE получил меньше событий, он продолжает ожидать следующий пакет данных, пока время ожидания не превысит sync_commit_interval_second. Значение по умолчанию — 10000 событий. При изменении этой настройки убедитесь, что значение меньше параметра canal.instance.memory.buffer.size на стороне canal (по умолчанию 16384). Иначе до отправки подтверждения FE попытается получить больше событий, чем вмещает очередь хранилища, из-за чего она заблокируется до истечения тайм-аута.
По умолчанию: 10000
Динамическая настройка: true
Только для узла Master FE: true
min_bytes_sync_commit
Минимальный объём данных, необходимый для фиксации транзакции. Если FE получил меньший объём данных, он продолжает ожидать следующий пакет, пока время ожидания не превысит sync_commit_interval_second. Значение по умолчанию — 15MB. При изменении этой настройки убедитесь, что значение меньше произведения canal.instance.memory.buffer.size и canal.instance.memory.buffer.memunit на стороне canal (по умолчанию 16MB). Иначе до отправки подтверждения FE попытается получить больше данных, чем вмещает хранилище, из-за чего очередь хранилища заблокируется до истечения тайм-аута.
По умолчанию: 15*1024*1024 (15M)
Динамическая настройка: true
Только для узла Master FE: true
max_bytes_sync_commit
Максимальное число потоков в пуле потоков заданий синхронизации данных. Во всём FE существует только один такой пул, который обрабатывает все задачи синхронизации данных FE, отправляющие данные на BE. Пул потоков реализован в классе SyncTaskPool.
По умолчанию: 10
Динамическая настройка: false
Только для узла Master FE: false
enable_outfile_to_local
По умолчанию:false
Разрешает функции outfile экспортировать результаты на локальный диск.
export_tablet_num_per_task
По умолчанию:5
IsMutable:true
MasterOnly:true
Число tablet в одном плане запроса экспорта.
export_task_default_timeout_second
По умолчанию: 2 * 3600 (2 часа)
IsMutable:true
MasterOnly:true
Тайм-аут заданий экспорта по умолчанию.
export_running_job_num_limit
По умолчанию:5
IsMutable:true
MasterOnly:true
Ограничение числа одновременно выполняемых заданий экспорта. По умолчанию — 5. Значение 0 означает отсутствие ограничения.
export_checker_interval_second
По умолчанию:5
Интервал запуска проверки заданий экспорта.
enable_stream_load_profile
По умолчанию: false
MasterOnly: false
Включает профилирование Stream Load.
Журналы
log_roll_size_mb
По умолчанию:1024 (1G)
Максимальный размер одного системного журнала и журнала аудита.
sys_log_dir
По умолчанию: DorisFE.DORIS_HOME_DIR + "/log"
Задаёт каталог журналов FE. FE создаёт 2 файла журналов:
fe.log: все записи журнала процесса FE. fe.warn.log все записи уровней WARNING и ERROR процесса FE.
sys_log_level
По умолчанию:INFO
Уровень журналирования: INFO, WARN, ERROR, FATAL.
sys_log_roll_num
По умолчанию:10
Максимальное число файлов журналов FE, сохраняемых за период sys_log_roll_interval. Значение по умолчанию — 10, то есть за день будет создано не более 10 файлов журналов.
sys_log_verbose_modules
По умолчанию:{}
Модули с подробным журналированием. Уровень VERBOSE реализован через уровень DEBUG в log4j.
Например: sys_log_verbose_modules = org.apache.doris.catalog Будут выводиться только отладочные записи файлов из пакета org.apache.doris.catalog и всех его вложенных пакетов.
sys_log_roll_interval
По умолчанию:DAY
sys_log_roll_interval:
- DAY: суффикс журнала — yyyyMMdd.
- HOUR: суффикс журнала — yyyyMMddHH.
sys_log_delete_age
По умолчанию:7d
По умолчанию — 7 дней. Если журнал последний раз изменялся 7 дней назад, он удаляется.
Поддерживаемый формат:
- 7d 7 дней
- 10h 10 часов
- 60m 60 минут
- 120s 120 секунд
sys_log_roll_mode
По умолчанию:SIZE-MB-1024
Размер для ротации журнала: новый файл создаётся после каждых 1 G.
sys_log_enable_compress
По умолчанию: false
При значении true файлы fe.log и fe.warn.log сжимаются с помощью gzip.
audit_log_dir
По умолчанию:DORIS_HOME_DIR + "/log"
audit_log_dir: Задаёт каталог журналов аудита FE. Журнал аудита fe.audit.log содержит все запросы и связанные сведения: пользователя, хост, время выполнения, состояние и т. д.
audit_log_roll_num
По умолчанию:90
Максимальное число файлов журнала аудита FE, сохраняемых за период audit_log_roll_interval.
audit_log_modules
По умолчанию:{"slow_query", "query", "load", "stream_load"}
Журнал медленных запросов содержит все запросы, время выполнения которых превышает qe_slow_log_ms.
qe_slow_log_ms
По умолчанию: 5000 (5 секунд)
Если время ответа на запрос превышает этот порог, он записывается в журнал аудита как slow_query.
audit_log_roll_interval
По умолчанию:DAY
DAY: суффикс журнала: yyyyMMdd. HOUR: суффикс журнала: yyyyMMddHH.
audit_log_delete_age
По умолчанию:30d
По умолчанию — 30 дней. Если журнал последний раз изменялся 30 дней назад, он удаляется.
Поддерживаемый формат:
- 7d 7 дней
- 10h 10 часов
- 60m 60 минут
- 120s 120 секунд
audit_log_enable_compress
По умолчанию: false
При значении true файл fe.audit.log сжимается с помощью gzip.
nereids_trace_log_dir
По умолчанию: DorisFE.DORIS_HOME_DIR + "/log/nereids_trace"
Задаёт каталог журнала трассировки Nereids.
Хранение
inverted_index_storage_format
По умолчанию: V3
Динамическая настройка: true
Только для узла Master FE: true
Формат хранения новых инвертированных индексов по умолчанию. Начиная с версии 4.1.5, создание инвертированных индексов V1 и динамическая установка этого параметра в V1 запрещены. Если действующее значение в fe.conf или fe_custom.conf равно V1, FE отказывается запускаться; перед обновлением замените его на V2 или V3. Существующие таблицы V1 остаются доступными для чтения, но добавлять в них новые инвертированные индексы нельзя. Если нужны новые индексы, пересоздайте таблицу в формате V2 или V3.
min_replication_num_per_tablet
По умолчанию: 1
Задаёт минимальное число реплик одного tablet.
max_replication_num_per_tablet
По умолчанию: 32767
Задаёт максимальное число реплик одного tablet.
default_db_data_quota_bytes
По умолчанию:8192PB
IsMutable:true
MasterOnly:true
Задаёт квоту объёма данных базы данных по умолчанию. Чтобы установить квоту для отдельной базы данных, используйте:
Set the database data quota, the unit is:B/K/KB/M/MB/G/GB/T/TB/P/PB
ALTER DATABASE db_name SET DATA QUOTA quota;
View configuration
show data (Detail:HELP SHOW DATA)
default_db_replica_quota_size
По умолчанию: 1073741824
IsMutable:true
MasterOnly:true
Задаёт квоту реплик базы данных по умолчанию. Чтобы установить квоту для отдельной базы данных, используйте:
Set the database replica quota
ALTER DATABASE db_name SET REPLICA QUOTA quota;
View configuration
show data (Detail:HELP SHOW DATA)
recover_with_empty_tablet
По умолчанию:false
IsMutable:true
MasterOnly:true
В исключительных обстоятельствах, например из-за ошибок кода или действий пользователя, могут быть потеряны все реплики некоторых tablet. В таком случае данные фактически утрачены. Однако в некоторых сценариях приложению требуется, чтобы запросы не возвращали ошибки даже при потере данных, а её последствия были менее заметны пользователям. Для этого отсутствующие реплики можно заменить пустыми tablet, чтобы запросы выполнялись штатно.
Установите true, чтобы Doris автоматически создавал пустые реплики для tablet, у которых все реплики повреждены или отсутствуют.
min_clone_task_timeout_sec And max_clone_task_timeout_sec
По умолчанию: минимум 3 минуты, максимум два часа
IsMutable:true
MasterOnly:true
Можно использовать совместно с mix_clone_task_timeout_sec для управления максимальным и минимальным тайм-аутом задачи клонирования. В обычных условиях тайм-аут оценивается по объёму данных и минимальной скорости передачи (5MB/s). В некоторых особых случаях эти два параметра позволяют задать верхнюю и нижнюю границы тайм-аута, чтобы задача клонирования могла успешно завершиться.
disable_storage_medium_check
По умолчанию:false
IsMutable:true
MasterOnly:true
Если disable_storage_medium_check имеет значение true, ReportHandler не проверяет тип носителя tablet и отключает функцию переноса данных в холодное хранилище. Значение по умолчанию — false. Можно установить true, если тип носителя tablet не имеет значения.
decommission_tablet_check_threshold
По умолчанию:5000
IsMutable:true
MasterOnly:true
Определяет, должен ли Master FE проверять состояние tablet на BE, выведенном из эксплуатации. Если число tablet на таком BE ниже этого порога, FE запускает периодическую проверку. Как только все tablet на BE будут удалены, FE немедленно удалит этот BE.
Из соображений производительности не задавайте слишком высокое значение этого параметра.
partition_rebalance_max_moves_num_per_selection
По умолчанию:10
IsMutable:true
MasterOnly:true
Действует только при использовании PartitionRebalancer.
partition_rebalance_move_expire_after_access
По умолчанию:600 (s)
IsMutable:true
MasterOnly:true
Действует только при использовании PartitionRebalancer. При изменении значения кэшированные перемещения очищаются.
tablet_rebalancer_type
По умолчанию:BeLoad
MasterOnly:true
Тип механизма перебалансировки без учёта регистра: BeLoad, Partition. Если тип не удалось распознать, по умолчанию используется BeLoad.
max_balancing_tablets
По умолчанию:100
IsMutable:true
MasterOnly:true
Если число балансируемых tablet в TabletScheduler превышает max_balancing_tablets, дальнейшая проверка балансировки не выполняется.
max_scheduling_tablets
По умолчанию:2000
IsMutable:true
MasterOnly:true
Если число запланированных tablet в TabletScheduler превышает max_scheduling_tablets, проверка пропускается.
disable_balance
По умолчанию:false
IsMutable:true
MasterOnly:true
При значении true TabletScheduler не выполняет балансировку.
disable_disk_balance
По умолчанию:true
IsMutable:true
MasterOnly:true
При значении true TabletScheduler не выполняет балансировку дисков.
balance_load_score_threshold
По умолчанию: 0.1 (10%)
IsMutable:true
MasterOnly:true
Порог оценки сбалансированности кластера. Если оценка нагрузки Backend на 10% ниже средней, этот Backend помечается как LOW. Если оценка нагрузки на 10% выше средней, он помечается как HIGH.
capacity_used_percent_high_water
По умолчанию: 0.75 (75%)
IsMutable:true
MasterOnly:true
Верхний порог доли занятого дискового пространства. Используется для расчёта оценки нагрузки Backend.
clone_distribution_balance_threshold
По умолчанию: 0.2
IsMutable:true
MasterOnly:true
Порог балансировки числа реплик между Backend.
clone_capacity_balance_threshold
По умолчанию: 0.2
IsMutable:true
MasterOnly:true
-
Порог балансировки объёма данных на BE.
Алгоритм балансировки:
-
Вычислить средний использованный объём (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 внутри кластера. Поэтому следует придерживаться более осторожной стратегии и по возможности избегать перемещения групп Colocate. Обычно перемещение происходит после отключения или сбоя узла BE. Этот параметр откладывает признание узла BE недоступным. По умолчанию — 30 минут: если узел BE восстановится в течение 30 минут, перемещение группы Colocate не будет запущено.
allow_replica_on_same_host
По умолчанию: false
Динамическая настройка: false
Только для Master FE: false
Разрешает размещать несколько реплик одного tablet на одном хосте. Параметр в основном предназначен для локального тестирования и позволяет проще запускать несколько BE для проверки сценариев с несколькими репликами. Не используйте его вне тестовой среды.
repair_slow_replica
По умолчанию: false
IsMutable:true
MasterOnly: true
При значении true реплика с медленным выполнением compaction автоматически обнаруживается и переносится на другой сервер. Условие обнаружения: число версий самой быстрой реплики превышает min_version_count_indicate_replica_compaction_too_slow, а относительная разница в числе версий по сравнению с самой быстрой репликой превышает valid_version_count_delta_ratio_between_replicas.
min_version_count_indicate_replica_compaction_too_slow
По умолчанию: 200
Динамическая настройка: true
Только для Master FE: false
Порог числа версий для определения слишком медленного выполнения compaction реплики.
skip_compaction_slower_replica
По умолчанию: true
Динамическая настройка: true
Только для Master FE: false
При значении true реплика с медленным выполнением compaction пропускается при выборе реплик, доступных для запросов.
valid_version_count_delta_ratio_between_replicas
По умолчанию: 0.5
Динамическая настройка: true
Только для Master FE: true
Порог допустимой относительной разницы между числом версий самой медленной и самой быстрой реплики. Если repair_slow_replica имеет значение true, используется для определения необходимости восстановления самой медленной реплики.
min_bytes_indicate_replica_too_large
По умолчанию: 2 * 1024 * 1024 * 1024 (2G)
Динамическая настройка: true
Только для Master FE: true
Порог объёма данных для определения слишком большой реплики.
schedule_slot_num_per_hdd_path
По умолчанию:4
Число слотов на путь HDD в планировщике tablet по умолчанию. Этот параметр предполагается удалить и динамически корректировать число слотов по статистике задач клонирования.
schedule_slot_num_per_ssd_path
По умолчанию:8
Число слотов на путь SSD в планировщике tablet по умолчанию. Этот параметр предполагается удалить и динамически корректировать число слотов по статистике задач клонирования.
tablet_repair_delay_factor_second
По умолчанию:60 (s)
IsMutable:true
MasterOnly:true
Коэффициент задержки перед принятием решения о восстановлении tablet.
- При приоритете VERY_HIGH восстановление выполняется немедленно.
- HIGH: задержка tablet_repair_delay_factor_second * 1;
- NORMAL: задержка tablet_repair_delay_factor_second * 2;
- LOW: задержка tablet_repair_delay_factor_second * 3;
tablet_stat_update_interval_second
По умолчанию:300(5min)
Интервал обновления статистики tablet. С этим интервалом все Frontend получают статистику tablet со всех Backend.
storage_flood_stage_usage_percent
По умолчанию:95 (95%)
IsMutable:true
MasterOnly:true
storage_flood_stage_left_capacity_bytes
По умолчанию:1 * 1024 * 1024 * 1024 (1GB)
IsMutable:true
MasterOnly:true
Если заполненность диска достигает порогов 'storage_flood_stage_usage_percent' и 'storage_flood_stage_left_capacity_bytes', следующие операции отклоняются:
- Задания загрузки.
- Задания восстановления.
storage_high_watermark_usage_percent
По умолчанию:85 (85%)
IsMutable:true
MasterOnly:true
storage_min_left_capacity_bytes
По умолчанию: 2 * 1024 * 1024 * 1024 (2GB)
IsMutable:true
MasterOnly:true
'storage_high_watermark_usage_percent' ограничивает максимальную долю занятого пространства по пути хранения Backend. 'storage_min_left_capacity_bytes' ограничивает минимальный объём свободного пространства по этому пути. Если достигнуты оба ограничения, путь хранения нельзя выбрать как целевой для балансировки tablet. Однако при восстановлении tablet эти ограничения могут быть превышены, чтобы по возможности сохранить целостность данных.
catalog_trash_expire_second
По умолчанию: 86400L (1 день)
IsMutable:true
MasterOnly:true
После удаления базы данных, таблицы или секции её можно восстановить оператором RECOVER. Этот параметр задаёт максимальный срок хранения данных. По истечении срока данные удаляются безвозвратно.
default_storage_medium
По умолчанию:HDD
При создании таблицы или секции можно указать тип носителя: HDD или SSD. Если он не указан, используется тип носителя, заданный этим параметром.
default_compression_type
По умолчанию: LZ4F (до 4.0.3), ZSTD (начиная с 4.0.3)
При создании таблицы можно указать алгоритм сжатия. Если он не указан, этот параметр определяет тип сжатия по умолчанию. Допустимые значения: LZ4, LZ4F, LZ4HC, ZLIB, ZSTD, SNAPPY, NONE (без учёта регистра).
enable_storage_policy
- Включает функцию Storage Policy, которая позволяет разделять горячие и холодные данные. По умолчанию: false
Динамическая настройка: true
Только для узла Master FE: true
check_consistency_default_timeout_second
По умолчанию: 600 (10 минут)
IsMutable:true
MasterOnly:true
Тайм-аут одной задачи проверки согласованности по умолчанию. Задайте достаточно большое значение с учётом размера tablet.
consistency_check_start_time
По умолчанию:23
IsMutable:true
MasterOnly:true
Время начала проверки согласованности.
Проверка согласованности выполняется с consistency_check_start_time до consistency_check_end_time.
Если время начала и окончания совпадает, проверка согласованности не запускается.
consistency_check_end_time
По умолчанию:23
IsMutable:true
MasterOnly:true
Время окончания проверки согласованности.
Проверка согласованности выполняется с consistency_check_start_time до consistency_check_end_time.
Если время начала и окончания совпадает, проверка согласованности не запускается.
replica_delay_recovery_second
По умолчанию:0
IsMutable:true
MasterOnly:true
Минимальная задержка в секундах между сбоем реплики и попыткой FE восстановить её с помощью клонирования.
tablet_create_timeout_second
По умолчанию:1(s)
IsMutable:true
MasterOnly:true
Максимальное время ожидания создания одной реплики.
Например: если создаётся таблица с #m tablet и #n реплик для каждого tablet, запрос создания таблицы будет выполняться не дольше (m n tablet_create_timeout_second) до истечения тайм-аута.
tablet_delete_timeout_second
По умолчанию:2
IsMutable:true
MasterOnly:true
Имеет тот же смысл, что и tablet_create_timeout_second, но применяется при удалении tablet.
delete_job_max_timeout_second
По умолчанию: 300(s)
Динамическая настройка: true
Только для Master: true
Максимальный тайм-аут задания удаления в секундах.
alter_table_timeout_second
По умолчанию: 86400 * 30 (1 месяц)
IsMutable:true
MasterOnly:true
Максимальный тайм-аут запроса ALTER TABLE. Задайте достаточно большое значение с учётом объёма данных таблицы.
max_replica_count_when_schema_change
Максимальное число реплик, допустимое при изменении схемы OlapTable. Слишком большое число реплик приводит к OOM на FE.
По умолчанию: 100000
Динамическая настройка: true
Только для узла Master FE: true
history_job_keep_max_second
По умолчанию:7 * 24 * 3600 (7 дней)
IsMutable:true
MasterOnly:true
Максимальный срок хранения некоторых типов заданий, например заданий изменения схемы и Rollup.
max_create_table_timeout_second
По умолчанию:60 (s)
IsMutable:true
MasterOnly:true
Задаёт максимальный тайм-аут, чтобы ожидание создания таблицы или индекса не было слишком долгим.
autobucket_min_buckets
По умолчанию: 3 (до 4.0.8 / 4.1.4 было 1)
IsMutable: true
MasterOnly: true
Минимальное число бакетов, создаваемых стратегией автоматического распределения по бакетам (DISTRIBUTED BY ... BUCKETS AUTO).
Начиная с версии 4.0.8 линейки Doris 4.0 и версии 4.1.4 линейки 4.1, значение по умолчанию изменено с 1 на 3. Прежнее значение приводило к тому, что небольшие секции получали один бакет, чего было недостаточно для параллельной обработки и распределения данных. После изменения автоматическое распределение никогда не создаёт менее 3 бакетов. Изменение затрагивает только новые секции; число бакетов существующих секций остаётся прежним.
autobucket_max_buckets
По умолчанию: 128
IsMutable: true
MasterOnly: true
Максимальное число бакетов, создаваемых стратегией автоматического распределения по бакетам. Если вычисленный результат больше этого значения, он ограничивается этим значением.
Внешние таблицы
external_meta_cache_max_weight
По умолчанию: 0
Динамическая настройка: false
Только для узла Master FE: false
Добавлен в версии 4.1.4. Общее ограничение объёма кэша внешних метаданных на уровне FE.
Значение можно задать как объём в байтах с единицей измерения, например 1024MB или 4GB, либо как процент от максимального размера heap JVM, например 10%. Значение 0 означает отсутствие общей квоты, что соответствует поведению предыдущих версий.
Эта квота совместно ограничивает память, используемую различными видами кэша метаданных внешних таблиц: значениями секций Hive, таблицами, снимками и манифестами Iceberg, снимками Paimon и т. д. Для отдельного Catalog доступны более детальные настройки через свойства meta.cache.max-weight и meta.cache.<engine>.<entry>.max-weight. Использование кэша можно отслеживать в системной таблице information_schema.catalog_meta_cache_statistics.
jdbc_driver_url_white_list
По умолчанию: пусто
Динамическая настройка: false
Белый список значений driver_url, разрешённых при создании JDBC Catalog. Несколько значений разделяются запятыми, например jdbc_driver_url_white_list=a,b,c. Пустое значение означает, что белый список не задан.
Из соображений безопасности, начиная с версии 4.1.4 этот параметр больше нельзя изменять динамически. Его можно задать только в fe.conf, и он вступает в силу после перезапуска FE; изменить его с помощью ADMIN SET FRONTEND CONFIG больше нельзя.
force_sqlserver_jdbc_encrypt_false
По умолчанию: false
Динамическая настройка: false
Принудительно устанавливает параметр encrypt JDBC Catalog для SQLServer в 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. disk report: 0-1 msta 2. sk report: 0-1 ms 3. tablet report 4. 10000 replicas: 200ms
backup_job_default_timeout_ms
По умолчанию: 86400 * 1000 (1 день)
IsMutable:true
MasterOnly:true
Тайм-аут задания резервного копирования по умолчанию.
backup_upload_snapshot_batch_size
По умолчанию:10
IsMutable:true
MasterOnly:true
Максимальное число снимков, назначаемых одной задаче отправки при резервном копировании. Значение по умолчанию — 10.
restore_download_snapshot_batch_size
По умолчанию:10
IsMutable:true
MasterOnly:true
Максимальное число снимков, назначаемых одной задаче скачивания при восстановлении. Значение по умолчанию — 10.
max_backup_restore_job_num_per_db
По умолчанию: 10
Этот параметр в основном ограничивает число задач резервного копирования и восстановления, сведения о которых хранятся для каждой базы данных.
max_backup_tablets_per_job
По умолчанию: 300000
IsMutable:true
MasterOnly:true
Ограничивает максимальное число tablet в одном задании резервного копирования, чтобы избежать OOM на FE из-за хранения слишком большого объёма метаданных.
enable_quantile_state_type
По умолчанию:false
IsMutable:true
MasterOnly:true
Включает тип данных quantile_state.
enable_date_conversion
По умолчанию:true
IsMutable:true
MasterOnly:true
FE автоматически преобразует date/datetime в datev2/datetimev2(0).
enable_decimal_conversion
По умолчанию:true
IsMutable:true
MasterOnly:true
FE автоматически преобразует DecimalV2 в DecimalV3.
proxy_auth_magic_prefix
По умолчанию:x@8
proxy_auth_enable
По умолчанию:false
enable_func_pushdown
По умолчанию:true
IsMutable:true
MasterOnly:false
Определяет, следует ли передавать условия фильтрации с функциями на выполнение в MySQL при запросах к внешним таблицам ODBC и JDBC.
jdbc_drivers_dir
По умолчанию: ${DORIS_HOME}/jdbc_drivers;
IsMutable:false
MasterOnly:false
Каталог размещения драйверов JDBC по умолчанию.
max_error_tablet_of_broker_load
По умолчанию: 3;
IsMutable:true
MasterOnly:true
Максимальное число tablet с ошибками, отображаемых в Broker Load.
default_db_max_running_txn_num
По умолчанию:-1
IsMutable:true
MasterOnly:true
Задаёт квоту транзакций базы данных по умолчанию.
Значение по умолчанию -1 означает использование max_running_txn_num_per_db вместо default_db_max_running_txn_num.
Чтобы установить квоту для отдельной базы данных, используйте:
Set the database transaction quota
ALTER DATABASE db_name SET TRANSACTION QUOTA quota;
View configuration
show data (Detail:HELP SHOW DATA)
prefer_compute_node_for_external_table
По умолчанию:false
IsMutable:true
MasterOnly:false
При значении true запросы к внешним таблицам преимущественно назначаются вычислительным узлам. Максимальное число вычислительных узлов регулируется параметром min_backend_num_for_external_table.
При значении false запросы к внешним таблицам назначаются любым узлам.
min_backend_num_for_external_table
По умолчанию:3
IsMutable:true
MasterOnly:false
Действует только при значении true у prefer_compute_node_for_external_table. Если число вычислительных узлов меньше этого значения, запрос к внешней таблице пытается дополнительно задействовать смешанные узлы, чтобы общее число узлов достигло этого значения.
Если число вычислительных узлов больше этого значения, запрос к внешней таблице назначается только вычислительным узлам.
infodb_support_ext_catalog
По умолчанию: false
IsMutable: true
MasterOnly: false
При значении false результат выборки из таблиц базы данных information_schema не содержит сведений о таблицах во внешнем Catalog. Это позволяет избежать задержек запроса, когда внешний Catalog недоступен.
enable_query_hit_stats
По умолчанию: false
IsMutable: true
MasterOnly: false
Управляет сбором статистики обращений запросов. Значение по умолчанию — false.
div_precision_increment
По умолчанию: 4
Эта переменная задаёт число разрядов, на которое увеличивается масштаб результата
операций деления, выполняемых оператором /.
enable_convert_light_weight_schema_change
По умолчанию:true
Временный параметр конфигурации. После включения запускается фоновый поток, который автоматически переводит все таблицы OLAP на облегчённое изменение схемы. Результаты можно просмотреть командой show convert_light_schema_change [from db]: она показывает результаты преобразования всех таблиц, ранее не использовавших облегчённое изменение схемы.
disable_local_deploy_manager_drop_node
По умолчанию:true
Запрещает LocalDeployManager удалять узлы, чтобы ошибки в файле cluster.info не приводили к их удалению.
mysqldb_replace_name
По умолчанию: mysql
Для совместимости с экосистемой MySQL Doris содержит встроенную базу данных mysql. Если она конфликтует с собственной базой данных пользователя, измените это поле, чтобы переименовать встроенную базу данных MySQL в Doris.
max_auto_partition_num
Значение по умолчанию: 2000
Для таблиц с автоматическим секционированием число секций на одну таблицу OLAP ограничено параметром max_auto_partition_num, чтобы пользователь случайно не создал слишком много секций. По умолчанию — 2000.
profile_manager_gc_interval_seconds
Значение по умолчанию: 1
Задаёт интервал, с которым ProfileManager выполняет сборку мусора профилей. Во время сборки мусора ProfileManager удаляет лишние и просроченные профили из памяти и с диска, чтобы сократить расход памяти.
Режим разделения вычислений и хранения
cloud_edit_log_roll_interval_second
По умолчанию: 3600 (секунд)
Динамическая настройка: true
Только для узла Master FE: true
Поддерживается с версии 4.1.5. Временной интервал ротации Edit Log в режиме разделения вычислений и хранения, позволяющий регулярно создавать контрольные точки даже при редкой записи метаданных. Интервал проверяется при добавлении записи в журнал; отдельного таймера, принудительно запускающего ротацию при отсутствии новых записей, нет. Неположительные значения отключают ротацию по времени. Ротация по числу записей журнала остаётся включённой.
cloud_version_syncer_interval_second
По умолчанию: 60 (секунд, 20 до 4.1.5)
Динамическая настройка: false
Только для узла Master FE: false
Интервал фоновой синхронизации версий таблиц и секций всеми FE в режиме разделения вычислений и хранения. Для фоновой синхронизации требуется cloud_enable_version_syncer=true и значение Long.MAX_VALUE хотя бы у одного глобального TTL или TTL по умолчанию для кэша версий таблиц либо секций; кэши с конечным TTL обновляются лениво при чтении. В версии 4.1.5 интервал по умолчанию увеличен с 20 до 60 секунд, чтобы сократить число запросов к Meta Service. Для применения изменений требуется перезапуск FE.
cloud_get_version_task_batch_size
По умолчанию: 200 (2000 до 4.1.5)
Динамическая настройка: true
Только для узла Master FE: false
Максимальное число таблиц или секций в одном пакете Get Version при синхронизации версий в режиме разделения вычислений и хранения. В версии 4.1.5 значение по умолчанию уменьшено с 2000 до 200, чтобы сократить размер запроса.
cloud_version_syncer_get_version_retry_times
По умолчанию: 3
Динамическая настройка: true
Только для узла Master FE: false
Поддерживается с версии 4.1.5. Максимальное число попыток получения версий таблиц или секций при фоновой синхронизации в режиме разделения вычислений и хранения, включая первоначальный запрос. Значение по умолчанию допускает всего до 3 попыток, а не 3 повторные попытки после первого запроса. Эта настройка не зависит от параметров повторных попыток RPC к Meta Service для пользовательских запросов.
cloud_warm_up_job_scheduler_interval_millisecond
По умолчанию: 1000 (миллисекунд)
Динамическая настройка: true
Только для узла Master FE: true
Интервал планирования заданий прогрева кэша. Начиная с версии 4.1.5, при динамическом обновлении требуется значение больше 0; иначе возвращается cloud_warm_up_job_scheduler_interval_millisecond must be greater than 0.
max_active_cloud_warm_up_job
По умолчанию: 10
Динамическая настройка: true
Только для узла Master FE: true
Число одновременно планируемых заданий прогрева кэша. Начиная с версии 4.1.5, динамическое обновление также изменяет размер пула исполнителей прогрева. Неположительные значения приостанавливают планирование новых задач прогрева.
cluster_id
По умолчанию:-1
Узлы (FE или BE) считаются принадлежащими одному кластеру Doris, если у них одинаковый идентификатор кластера. В режиме разделения вычислений и хранения следует задать случайное целое число.
deploy_mode
По умолчанию: ""
Описание: режим работы FE. Значение cloud обозначает режим разделения хранения и вычислений.
meta_service_endpoint
По умолчанию: ""
Конечные точки службы метаданных указываются в формате 'host1:port,host2:port'. Этот параметр необходим для режима разделения хранения и вычислений.
enable_group_commit_streamload_be_forward
По умолчанию: false
IsMutable: true
Включает перенаправление Stream Load через BE для Group Commit в режиме разделения вычислений и хранения. Действует только в этом режиме и только для запросов, использующих Group Commit.
При включении FE перенаправляет запрос Stream Load на конечную точку _stream_load_forward, а принимающий BE пересылает запрос на целевой BE для этой таблицы. Это предотвращает распределение запросов одной таблицы балансировщиком нагрузки между разными пакетами Group Commit.
Одноимённый параметр должен быть включён и на FE, и на BE. Начиная с версии 4.0.8 линейки Doris 4.0 и версии 4.1.4 линейки 4.1, доступ к конечной точке _stream_load_forward на стороне BE регулируется конфигурацией BE: если она отключена, возвращается 403 Forbidden, а после включения запросы должны проходить аутентификацию и иметь глобальное право LOAD. См. Group Commit и Конфигурация BE.
default_get_version_from_ms_timeout_second
По умолчанию: 30 (s)
Динамическая настройка: false
Тайм-аут получения версии из Meta Service узлом FE.
В версии 4.1.4 значение по умолчанию изменено с 3 секунд на 30 секунд. Ранее при нестабильной работе Meta Service или высокой нагрузке тайм-аут в 3 секунды часто приводил к немедленному сбою запроса; увеличенное значение значительно сокращает число таких эпизодических сбоев.
enable_cloud_replica_stale_route_clean
По умолчанию: true
Динамическая настройка: true
Добавлен в версии 4.1.4. Включает очистку записей основных и дополнительных маршрутов CloudReplica, указывающих на уже не существующие Backend, при загрузке образа метаданных и во время циклов балансировки tablet.
Такие устаревшие записи уже игнорируются при выполнении запроса: для реплики повторно выбирается Backend с помощью хеширования. Они лишь расходуют память FE и увеличивают размер образа метаданных. Установите false, чтобы сохранить прежнее поведение без очистки.
enable_cloud_colocate_consistent_hash
По умолчанию: true
Динамическая настройка: false
Только для узла Master FE: true
Добавлен в версии 4.1.4. Определяет, используется ли согласованное хеширование rendezvous для размещения бакетов таблиц Colocate в режиме разделения вычислений и хранения. При значении false используется прежнее размещение на основе остатка от деления. Этот параметр можно задать только в fe.conf; он вступает в силу после перезапуска.
meta_service_rpc_rate_limit_enabled
По умолчанию: true (false до 4.1.5)
Динамическая настройка: true
Добавлен в версии 4.1.4. Включает оценку ограничения QPS для RPC от FE к Meta Service. Начиная с версии 4.1.5 включён по умолчанию вместе с meta_service_rpc_rate_limit_dry_run, поэтому по умолчанию только записываются расчётные ожидания и отклонения, а сами запросы не задерживаются и не отклоняются. Чтобы применять ограничение частоты, оставьте для этого параметра true и установите dry-run в false.
meta_service_rpc_rate_limit_dry_run
По умолчанию: true
Динамическая настройка: true
Только для узла Master FE: false
Поддерживается с версии 4.1.5. Действует только при meta_service_rpc_rate_limit_enabled=true. При значении true оценивает ограничение частоты и записывает метрики, не заставляя запросы ждать и не отклоняя их. При значении false применяет настроенные QPS, окно всплеска и тайм-аут ожидания. Метрики ожидания в режиме dry-run отражают расчётное время ожидания.
meta_service_rpc_rate_limit_default_qps_per_core
По умолчанию: 50
Динамическая настройка: true
Добавлен в версии 4.1.4. Допустимый QPS на одно ядро CPU по умолчанию для методов RPC Meta Service, которые не настроены отдельно в meta_service_rpc_rate_limit_qps_per_core_config. Значение меньше или равно 0 означает отсутствие ограничения частоты.
meta_service_rpc_rate_limit_qps_per_core_config
По умолчанию: getPartitionVersion:500;getTableVersion:500;getTabletStats:50;beginTxn:50
Динамическая настройка: true
Добавлен в версии 4.1.4. Ограничения QPS на одно ядро, задаваемые отдельно для методов RPC Meta Service в формате method1:qps1;method2:qps2. Значение меньше или равно 0 означает, что частота вызовов метода не ограничена.
meta_service_rpc_rate_limit_burst_seconds
По умолчанию: 2 (s)
Динамическая настройка: true
Добавлен в версии 4.1.4. Длительность окна всплеска для ограничения частоты RPC Meta Service, в секундах. Долгосрочный средний QPS не меняется, но в пределах этого окна разрешены всплески нагрузки.
meta_service_rpc_rate_limit_wait_timeout_ms
По умолчанию: 1000 (ms)
Динамическая настройка: true
Добавлен в версии 4.1.4. Максимальное время ожидания при срабатывании ограничения частоты RPC, в миллисекундах. Значение 0 означает отсутствие ожидания, поэтому запрос сразу завершается с ошибкой.