Конфигурация BE
В этом документе описаны основные параметры конфигурации BE.
Файл конфигурации BE be.conf обычно находится в каталоге conf/ внутри каталога развертывания BE. В версии 0.14 появится дополнительный файл конфигурации be_custom.conf. Он предназначен для хранения параметров, которые пользователь динамически изменяет и сохраняет во время работы.
После запуска процесс BE сначала считывает параметры из be.conf, а затем из be_custom.conf. Параметры из be_custom.conf переопределяют одноименные параметры из be.conf.
Расположение файла be_custom.conf можно задать в be.conf с помощью параметра custom_config_dir.
Просмотр параметров конфигурации
Просмотреть параметры конфигурации BE можно двумя способами:
-
Веб-страница BE
Текущие параметры конфигурации можно просмотреть на веб-странице BE:
http://be_host:be_webserver_port/varz -
Просмотр с помощью команды
Параметры конфигурации BE можно просмотреть в клиенте MySQL с помощью следующей команды. Подробное описание синтаксиса см. в разделе SHOW-CONFIG:
SHOW BACKEND CONFIG;Столбцы результата имеют следующие значения:
- BackendId: идентификатор backend.
- Host: IP-адрес backend.
- Key: имя параметра конфигурации.
- Value: текущее значение параметра конфигурации.
- Type: тип значения параметра, например целое число или строка.
- IsMutable: возможность динамического изменения. Если значение равно true, параметр можно изменять во время работы. Если значение равно false, параметр можно задать только в be.conf, и он вступит в силу после перезапуска BE.
Настройка параметров конфигурации
Настроить параметры конфигурации BE можно двумя способами:
-
Статическая настройка
Добавьте параметры и задайте их значения в файле
conf/be.conf. При запуске BE считывает параметры изbe.conf. Для параметров, отсутствующих вbe.conf, используются значения по умолчанию. -
Динамическая настройка
После запуска BE параметры можно изменять динамически с помощью следующих команд.
curl -X POST http://{be_ip}:{be_http_port}/api/update_config?{key}={value}В версии 0.13 и более ранних версиях изменения, внесенные таким способом, теряются после перезапуска процесса BE. В версии 0.14 и более поздних версиях измененную конфигурацию можно сохранить с помощью следующей команды. Измененные параметры записываются в файл
be_custom.conf.curl -X POST http://{be_ip}:{be_http_port}/api/update_config?{key}={value}\&persist=true
Примеры
-
Статическое изменение
max_base_compaction_threadsДобавьте в файл
be.conf:max_base_compaction_threads=5Затем перезапустите процесс BE, чтобы изменение вступило в силу.
-
Динамическое изменение
streaming_load_max_mbПосле запуска BE параметр
streaming_load_max_mbможно изменить динамически следующей командой:curl -X POST http://{be_ip}:{be_http_port}/api/update_config?streaming_load_max_mb=1024Следующий ответ указывает на успешное изменение параметра.
{
"status": "OK",
"msg": ""
}После перезапуска BE изменение будет потеряно. Чтобы сохранить его, используйте следующую команду:
curl -X POST http://{be_ip}:{be_http_port}/api/update_config?streaming_load_max_mb=1024\&persist=true
Параметры конфигурации
Службы
deploy_mode
- Тип: string
- Описание: Режим работы BE.
cloudобозначает режим с разделением хранения и вычислений. - Значение по умолчанию: ""
bvar_max_dump_multi_dimension_metric_num
- Тип: string
- Описание: Поддерживается начиная с версии 4.1.5. Максимальное количество образцов многомерных метрик bvar, экспортируемых через
/brpc_metrics. Значение0отключает эти образцы. Для применения изменений требуется перезапуск BE. - Значение по умолчанию: 5000
be_port
- Тип: int32
- Описание: Порт сервера thrift на BE для приема запросов от FE.
- Значение по умолчанию: 9060
heartbeat_service_port
- Тип: int32
- Описание: Порт службы heartbeat (thrift) на BE для приема heartbeat от FE.
- Значение по умолчанию: 9050
webserver_port
- Тип: int32
- Описание: Порт HTTP-сервера на BE.
- Значение по умолчанию: 8040
brpc_port
- Тип: int32
- Описание: Порт BRPC на BE для взаимодействия между BE.
- Значение по умолчанию: 8060
arrow_flight_sql_port
- Тип: int32
- Описание: Порт сервера Arrow Flight SQL на BE для взаимодействия между Arrow Flight Client и BE.
- Значение по умолчанию: -1
enable_https
- Тип: bool
- Описание: Определяет, поддерживается ли HTTPS. Если поддержка включена, задайте
ssl_certificate_pathиssl_private_key_pathв be.conf. - Значение по умолчанию: false
priority_networks
- Описание: Задает стратегию выбора IP-адреса для серверов с несколькими IP-адресами. Обратите внимание: этому списку должен соответствовать не более чем один IP-адрес. Список записывается в нотации CIDR с разделителем «точка с запятой», например 10.10.10.0/24. Если ни один IP-адрес не соответствует правилу, адрес выбирается случайным образом.
- Значение по умолчанию: пусто
storage_root_path
-
Тип: string
-
Описание: Корневые пути для данных, разделенные символом ';'. Для каждого пути можно указать тип носителя: HDD или SSD. В конце каждого пути можно добавить ограничение емкости через ','. Если пользователь не использует одновременно SSD и HDD, настройка по примеру 1 и примеру 2 ниже не требуется: достаточно указать каталог хранения. Менять тип носителя по умолчанию в конфигурации FE также не требуется.
Пример 1:
storage_root_path=/home/disk1/doris.HDD;/home/disk2/doris.SSD;/home/disk2/doris- 1./home/disk1/doris.HDD означает, что используется носитель HDD;
- 2./home/disk2/doris.SSD означает, что используется носитель SSD;
- 3./home/disk2/doris означает, что по умолчанию используется носитель HDD.
Пример 2:
storage_root_path=/home/disk1/doris,medium:hdd;/home/disk2/doris,medium:ssd- 1./home/disk1/doris,medium:hdd означает, что используется носитель HDD;
- 2./home/disk2/doris,medium:ssd означает, что используется носитель SSD;
-
Значение по умолчанию: ${DORIS_HOME}/storage
heartbeat_service_thread_count
- Тип: int32
- Описание: Количество потоков службы heartbeat на BE. По умолчанию равно 1; изменять его не рекомендуется.
- Значение по умолчанию: 1
ignore_broken_disk
-
Тип: bool
-
Описание: При запуске BE проверяются все пути, заданные в
storage_root_path.ignore_broken_disk=true
Если путь не существует или файлы по этому пути недоступны для чтения или записи из-за неисправности диска, путь игнорируется. Если есть другие доступные пути, запуск продолжается.
ignore_broken_disk=false
Если путь не существует или файлы по этому пути недоступны для чтения или записи из-за неисправности диска, система прерывает запуск и завершает работу.
-
Значение по умолчанию: false
mem_limit
- Тип: string
- Описание: Ограничивает долю общей памяти сервера, которую может использовать процесс BE. Это предотвращает чрезмерное потребление памяти сервера процессом BE. Значение параметра должно быть больше 0. Если задано значение больше 100%, используется 100%.
- Значение по умолчанию: 90%
cluster_id
- Тип: int32
- Описание: Задает идентификатор кластера, к которому принадлежит BE.
- Обычно FE передает это значение BE через heartbeat, поэтому задавать его не требуется. Если принадлежность BE к определенному кластеру Doris подтверждена, значение можно задать явно. Значение в файле cluster_id в каталоге данных необходимо привести в соответствие с этим параметром.
- Значение по умолчанию: -1
custom_config_dir
- Описание: Задает расположение файла
be_custom.conf. По умолчанию он находится в каталогеconf/.- В некоторых средах развертывания каталог
conf/может перезаписываться при обновлении системы. При этом измененные пользователем параметры конфигурации будут потеряны. Чтобы избежать перезаписи файла конфигурации, можно хранитьbe_custom.confв другом указанном каталоге.
- В некоторых средах развертывания каталог
- Значение по умолчанию: пусто
trash_file_expire_time_sec
- Описание: Интервал очистки корзины составляет 24 часа. При нехватке дискового пространства срок хранения файлов в корзине может не соответствовать этому параметру.
- Значение по умолчанию: 86400
es_http_timeout_ms
- Описание: Время ожидания подключения к ES по HTTP.
- Значение по умолчанию: 5000 (ms)
es_scroll_keepalive
- Описание: Время поддержания активности es scroll.
- Значение по умолчанию: 5 (m)
external_table_connect_timeout_sec
- Тип: int32
- Описание: Время ожидания при установлении соединения с внешней таблицей, например таблицей ODBC.
- Значение по умолчанию: 5 секунд
pipeline_status_report_interval
- Описание: Интервал отправки отчетов профиля.
- Значение по умолчанию: 5 секунд
brpc_max_body_size
-
Описание: Используется главным образом для изменения параметра
max_body_sizeв brpc.- Иногда запрос завершается с ошибкой, а в журнале BE появляется сообщение
body_size is too large. Это может произойти при SQL вида «multi distinct + без group by + более 1T данных». Ошибка означает, что размер пакета brpc превышает заданное значение. Чтобы избежать этой ошибки, увеличьте значение параметра.
- Иногда запрос завершается с ошибкой, а в журнале BE появляется сообщение
brpc_socket_max_unwritten_bytes
- Описание: Используется главным образом для изменения параметра
socket_max_unwritten_bytesв brpc.- Иногда запрос завершается с ошибкой, а в журнале BE появляется сообщение
The server is overcrowded. Это означает, что на стороне отправителя накопилось слишком много сообщений для буферизации. Такое возможно, когда SQL требуется передать большое значение bitmap. Чтобы избежать этой ошибки, увеличьте значение параметра.
- Иногда запрос завершается с ошибкой, а в журнале BE появляется сообщение
transfer_large_data_by_brpc
- Тип: bool
- Описание: Определяет, следует ли при размере данных Tuple/Block больше 1.8G сериализовать запрос protoBuf, помещать данные Tuple/Block во вложение контроллера и отправлять его через HTTP brpc. Это позволяет избежать ошибки при размере запроса protoBuf больше 2G: Bad request, error_text=[E1003]Fail to compress request. В предыдущей версии данные Tuple/Block после помещения во вложение отправлялись через стандартный baidu_std brpc, но при размере вложения больше 2G оно обрезалось. При отправке через HTTP brpc ограничение в 2G отсутствует.
- Значение по умолчанию: true
brpc_num_threads
- Описание: Используется главным образом для изменения количества bthread в brpc. Значение по умолчанию равно 256.
- Для повышения производительности QPS можно увеличить значение этого параметра. Подробнее см.
https://github.com/apache/incubator-brpc/blob/master/docs/cn/benchmark.md.
- Для повышения производительности QPS можно увеличить значение этого параметра. Подробнее см.
- Значение по умолчанию: 256
thrift_rpc_timeout_ms
- Описание: Время ожидания thrift по умолчанию.
- Значение по умолчанию: 60000
thrift_client_retry_interval_ms
- Тип: int64
- Описание: Задает интервал повторных попыток клиента thrift в BE, чтобы предотвратить лавинообразную перегрузку сервера thrift в FE. Единица измерения: ms.
- Значение по умолчанию: 1000
thrift_connect_timeout_seconds
- Описание: Время ожидания подключения клиента thrift по умолчанию.
- Значение по умолчанию: 3 (s)
thrift_server_type_of_fe
-
Тип: string
-
Описание: Определяет модель обслуживания, используемую службой Thrift в FE. Значение имеет тип string и не зависит от регистра. Этот параметр должен совпадать со значением параметра thrift_server_type в FE. Сейчас доступны два значения:
THREADEDиTHREAD_POOL.-
Если задано
THREADED, используется модель неблокирующего ввода-вывода. -
Если задано
THREAD_POOL, используется модель блокирующего ввода-вывода.
-
thrift_max_message_size
Значение по умолчанию: 100MB
Максимальный размер принимаемого сообщения сервера thrift в байтах. Если размер сообщения клиента превышает этот предел, сервер Thrift отклоняет запрос и закрывает соединение. Клиент при этом получает ошибку: "connection has been closed by peer." В таком случае можно попробовать увеличить значение параметра.
txn_commit_rpc_timeout_ms
- Описание: Время ожидания RPC фиксации txn.
- Значение по умолчанию: 60,000 (ms)
txn_map_shard_size
- Описание: Количество частей txn_map_lock. Значение задается как 2^n, n=0,1,2,3,4. Это позволяет повысить производительность управления txn.
- Значение по умолчанию: 128
txn_shard_size
- Описание: Количество шардов txn_lock. Значение задается как 2^n, n=0,1,2,3,4. Это позволяет повысить производительность фиксации и публикации txn.
- Значение по умолчанию: 1024
unused_rowset_monitor_interval
- Описание: Интервал удаления устаревших Rowset.
- Значение по умолчанию: 30 (s)
max_client_cache_size_per_host
- Описание: Максимальный размер клиентского кеша на хост. В BE есть несколько клиентских кешей, но сейчас для них используется общая настройка размера. При необходимости для разных клиентских кешей можно задать разные настройки.
- Значение по умолчанию: 10
string_type_length_soft_limit_bytes
- Тип: int32
- Описание: Мягкое ограничение максимальной длины значения типа String.
- Значение по умолчанию: 1,048,576
big_column_size_buffer
- Тип: int64
- Описание: При работе с внешней таблицей ODBC, если тип столбца исходной таблицы ODBC равен HLL, CHAR или VARCHAR и длина значения столбца превышает это значение, запрос завершается с ошибкой 'column value length longer than buffer length'. Значение параметра можно увеличить.
- Значение по умолчанию: 65535
small_column_size_buffer
- Тип: int64
- Описание: При работе с внешней таблицей ODBC, если тип столбца исходной таблицы ODBC не равен HLL, CHAR или VARCHAR и длина значения столбца превышает это значение, запрос завершается с ошибкой 'column value length longer than buffer length'. Значение параметра можно увеличить.
- Значение по умолчанию: 100
Запросы
ignore_not_found_file_in_external_table
- Тип: bool
- Описание: Определяет, могут ли средства чтения внешних таблиц пропускать отсутствующие файлы. Поддерживает динамическую настройку. Начиная с версии 4.1.5 этот параметр не позволяет пропускать отсутствующие файлы данных или удаления в зафиксированных снимках Iceberg: запрос завершается с ошибкой даже при значении
true, чтобы избежать незаметного возврата неполного снимка. - Значение по умолчанию: true
parquet_metadata_size_limit
- Тип: int64
- Описание: Поддерживается начиная с версии 4.1.5. Максимальный размер сериализованных метаданных в нижнем колонтитуле файла в байтах для встроенного средства чтения Parquet V2. Должен быть больше
0. При превышении возвращается ошибкаParquet v2 footer size ... exceeds metadata limit .... Поддерживает динамическую настройку. Для корректных файлов с большими нижними колонтитулами увеличьте значение в пределах доступной памяти. - Значение по умолчанию: 268435456 (256 MiB)
fragment_mgr_asynic_work_pool_queue_size
- Описание: Максимальное количество асинхронных задач, обрабатываемых на одном узле.
- Значение по умолчанию: 4096
fragment_mgr_asynic_work_pool_thread_num_min
- Описание: Количество потоков для выполнения асинхронных задач. По умолчанию минимальное количество потоков равно 16.
- Значение по умолчанию: 16
fragment_mgr_asynic_work_pool_thread_num_max
- Описание: Потоки создаются динамически по мере поступления асинхронных задач, максимум 512 потоков.
- Значение по умолчанию: 512
doris_scanner_row_num
- Описание: Максимальное количество строк данных, возвращаемых каждым потоком сканирования за одно выполнение.
- Значение по умолчанию: 16384
doris_scanner_row_bytes
- Описание: Объем строк в байтах, считываемый за одно выполнение фрагмента.
- Примечание: если в таблице слишком много столбцов и выполнение
select *зависает, можно изменить этот параметр.
- Примечание: если в таблице слишком много столбцов и выполнение
- Значение по умолчанию: 10485760
doris_scanner_thread_pool_queue_size
- Тип: int32
- Описание: Длина очереди пула потоков Scanner. В задачах сканирования Doris каждый Scanner передается в пул потоков как задача, ожидающая планирования. Когда количество переданных задач превышает длину очереди пула, передача последующих задач блокируется до появления свободного места в очереди.
- Значение по умолчанию: 102400
doris_scanner_thread_pool_thread_num
- Тип: int32
- Описание: Количество потоков в пуле Scanner. В задачах сканирования Doris каждый Scanner передается в пул потоков как задача для планирования. Этот параметр определяет размер пула потоков Scanner.
- Значение по умолчанию: зависит от количества ядер CPU. Равно
max(48, 2 * num_of_cpu_cores).
doris_max_remote_scanner_thread_pool_thread_num
- Тип: int32
- Описание: Максимальное количество потоков в пуле Remote scanner. Этот пул используется для задач сканирования всех внешних источников данных.
- Значение по умолчанию: 512
exchg_node_buffer_size_bytes
- Тип: int32
- Описание: Размер очереди Buffer узла ExchangeNode в байтах. Когда объем данных, отправленных со стороны Sender, превышает размер Buffer в ExchangeNode, отправка последующих данных блокируется до освобождения места для записи в Buffer.
- Значение по умолчанию: 10485760
doris_scan_range_max_mb
- Тип: int32
- Описание: Максимальный объем данных, считываемый каждым OlapScanner.
- Значение по умолчанию: 1024
Компактизация
disable_auto_compaction
- Тип: bool
- Описание: Определяет, следует ли отключить автоматические задачи компактизации.
- Обычно этот параметр должен быть выключен. Его можно включить для ручного управления задачами компактизации в среде отладки или тестирования.
- Значение по умолчанию: false
enable_vertical_compaction
- Тип: bool
- Описание: Определяет, следует ли включить вертикальную компактизацию.
- Значение по умолчанию: true
vertical_compaction_num_columns_per_group
- Тип: int32
- Описание: Количество столбцов в каждой группе при вертикальной компактизации.
- Значение по умолчанию: 5
vertical_compaction_max_row_source_memory_mb
- Тип: int32
- Описание: Максимальный объем памяти для row_source_buffer при вертикальной компактизации. Единица измерения: MB.
- Значение по умолчанию: 200
vertical_compaction_max_segment_size
- Тип: int32
- Описание: Максимальный размер результирующего файла сегмента при вертикальной компактизации. Единица измерения: мегабайты.
- Значение по умолчанию: 268435456
enable_ordered_data_compaction
- Тип: bool
- Описание: Определяет, следует ли включить компактизацию упорядоченных данных.
- Значение по умолчанию: true
ordered_data_compaction_min_segment_size
- Тип: int32
- Описание: Минимальный размер сегмента входного rowset при компактизации упорядоченных данных. Единица измерения: мегабайты.
- Значение по умолчанию: 10485760
max_base_compaction_threads
- Тип: int32
- Описание: Максимальное количество потоков в пуле базовой компактизации. Значение -1 означает один поток на диск.
- Значение по умолчанию: 4
generate_compaction_tasks_interval_ms
- Описание: Минимальный интервал (ms) создания задач компактизации.
- Значение по умолчанию: 10 (ms)
base_compaction_min_rowset_num
- Описание: Одно из условий запуска BaseCompaction: порог количества файлов Cumulative. При достижении этого порога запускается BaseCompaction.
- Значение по умолчанию: 5
base_compaction_min_data_ratio
- Описание: Одно из условий запуска BaseCompaction: размер файлов Cumulative достигает заданной доли размера файла Base.
- Значение по умолчанию: 0.3 (30%)
total_permits_for_compaction_score
- Тип: int64
- Описание: Верхний предел количества «разрешений», удерживаемых всеми задачами компактизации. Этот параметр позволяет ограничить потребление памяти при компактизации.
- Значение по умолчанию: 10000
- Динамическое изменение: да
compaction_promotion_size_mbytes
- Тип: int64
- Описание: Если общий размер на диске результирующего rowset кумулятивной компактизации превышает заданный размер, этот rowset используется для базовой компактизации. Единица измерения: мегабайты.
- Обычно значение задают меньше 2G, чтобы избежать слишком долгой кумулятивной компактизации и накопления версий.
- Значение по умолчанию: 1024
compaction_promotion_ratio
- Тип: double
- Описание: Если общий размер на диске результирующего rowset кумулятивной компактизации превышает заданную долю размера rowset базовой версии, этот rowset используется для базовой компактизации.
- Обычно рекомендуется задавать значение не выше 0.1 и не ниже 0.02.
- Значение по умолчанию: 0.05
compaction_promotion_min_size_mbytes
- Тип: int64
- Описание: Если общий размер на диске результирующего rowset кумулятивной компактизации меньше заданного размера, rowset не подвергается базовой компактизации и продолжает участвовать в кумулятивной компактизации. Единица измерения: мегабайты.
- Обычно значение находится в пределах 512m. При слишком большом значении размер ранней базовой версии оказывается слишком мал, и базовая компактизация не выполняется.
- Значение по умолчанию: 128
compaction_min_size_mbytes
- Тип: int64
- Описание: Если при кумулятивной компактизации размер на диске выбранных для объединения rowset превышает это значение, они разделяются и объединяются согласно политике уровней. Если размер меньше, они объединяются напрямую. Единица измерения: мегабайты.
- Обычно значение находится в пределах 128m. Слишком большое значение увеличивает усиление записи при кумулятивной компактизации.
- Значение по умолчанию: 64
default_rowset_type
- Тип: string
- Описание: Определяет формат хранения, выбираемый BE по умолчанию. Допустимые значения: "ALPHA", "BETA". Выполняет две основные функции:
- Если для storage_format таблицы задано Default, формат хранения BE выбирается через этот параметр.
- Выбирает формат хранения при выполнении компактизации в BE.
- Значение по умолчанию: BETA
cumulative_compaction_min_deltas
- Описание: Стратегия кумулятивной компактизации: минимальное количество инкрементальных файлов.
- Значение по умолчанию: 5
cumulative_compaction_max_deltas
- Описание: Стратегия кумулятивной компактизации: максимальное количество инкрементальных файлов.
- Значение по умолчанию: 1000
base_compaction_trace_threshold
- Тип: int32
- Описание: Порог записи трассировочной информации базовой компактизации в журнал, в секундах.
- Значение по умолчанию: 10
Базовая компактизация представляет собой длительную фоновую задачу. Этот параметр задает порог записи трассировочной информации в журнал. Трассировочная информация в файле журнала выглядит так:
W0610 11:26:33.804431 56452 storage_engine.cpp:552] execute base compaction cost 0.00319222
BaseCompaction:546859:
- filtered_rows: 0
- input_row_num: 10
- input_rowsets_count: 10
- input_rowsets_data_size: 2.17 KB
- input_segments_num: 10
- merge_rowsets_latency: 100000.510ms
- merged_rows: 0
- output_row_num: 10
- output_rowset_data_size: 224.00 B
- output_segments_num: 1
0610 11:23:03.727535 (+ 0us) storage_engine.cpp:554] start to perform base compaction
0610 11:23:03.728961 (+ 1426us) storage_engine.cpp:560] found best tablet 546859
0610 11:23:03.728963 (+ 2us) base_compaction.cpp:40] got base compaction lock
0610 11:23:03.729029 (+ 66us) base_compaction.cpp:44] rowsets picked
0610 11:24:51.784439 (+108055410us) compaction.cpp:46] got concurrency lock and start to do compaction
0610 11:24:51.784818 (+ 379us) compaction.cpp:74] prepare finished
0610 11:26:33.359265 (+101574447us) compaction.cpp:87] merge rowsets finished
0610 11:26:33.484481 (+125216us) compaction.cpp:102] output rowset built
0610 11:26:33.484482 (+ 1us) compaction.cpp:106] check correctness finished
0610 11:26:33.513197 (+ 28715us) compaction.cpp:110] modify rowsets finished
0610 11:26:33.513300 (+ 103us) base_compaction.cpp:49] compaction finished
0610 11:26:33.513441 (+ 141us) base_compaction.cpp:56] unused rowsets have been moved to GC queue
cumulative_compaction_trace_threshold
- Тип: int32
- Описание: Порог записи трассировочной информации кумулятивной компактизации в журнал, в секундах.
- Аналогичен
base_compaction_trace_threshold.
- Аналогичен
- Значение по умолчанию: 2
compaction_task_num_per_disk
- Тип: int32
- Описание: Количество задач компактизации, выполняемых параллельно для одного диска (HDD).
- Значение по умолчанию: 4
compaction_task_num_per_fast_disk
- Тип: int32
- Описание: Количество задач компактизации, выполняемых параллельно для одного быстрого диска (SSD).
- Значение по умолчанию: 8
cumulative_compaction_rounds_for_each_base_compaction_round
- Тип: int32
- Описание: Количество раундов кумулятивной компактизации на каждый раунд базовой компактизации при создании задач компактизации.
- Значение по умолчанию: 9
max_cumu_compaction_threads
- Тип: int32
- Описание: Максимальное количество потоков в пуле кумулятивной компактизации. Значение -1 означает один поток на диск.
- Значение по умолчанию: -1
enable_segcompaction
- Тип: bool
- Описание: Включает компактизацию сегментов во время загрузки, чтобы избежать ошибки -238.
- Значение по умолчанию: true
segcompaction_batch_size
- Тип: int32
- Описание: Компактизация сегментов запускается, когда количество сегментов превышает этот порог. Параметр также ограничивает максимальное количество исходных сегментов в одной задаче компактизации сегментов.
- Значение по умолчанию: 10
segcompaction_candidate_max_rows
- Тип: int32
- Описание: Максимально допустимое количество строк в одном исходном сегменте. Более крупные сегменты пропускаются.
- Значение по умолчанию: 1048576
segcompaction_candidate_max_bytes
- Тип: int64
- Описание: Максимально допустимый размер файла одного исходного сегмента. Более крупные сегменты пропускаются.
- Значение по умолчанию: 104857600
segcompaction_task_max_rows
- Тип: int32
- Описание: Максимально допустимое общее количество строк в одной задаче segcompaction.
- Значение по умолчанию: 1572864
segcompaction_task_max_bytes
- Тип: int64
- Описание: Максимально допустимый общий размер файлов в одной задаче segcompaction.
- Значение по умолчанию: 157286400
segcompaction_num_threads
- Тип: int32
- Описание: Размер глобального пула потоков segcompaction.
- Значение по умолчанию: 5
disable_compaction_trace_log
- Тип: bool
- Описание: Отключает журнал трассировки компактизации.
- При значении true параметры
cumulative_compaction_trace_thresholdиbase_compaction_trace_thresholdне действуют, а журнал отключен.
- При значении true параметры
- Значение по умолчанию: true
pick_rowset_to_compact_interval_sec
- Тип: int64
- Описание: Интервал выбора rowset для компактизации в секундах.
- Значение по умолчанию: 86400
update_replica_infos_interval_seconds
- Описание: Минимальный интервал (s) обновления информации о других репликах.
- Значение по умолчанию: 60 (s)
cold_data_compaction_score_threshold
- Тип: int32
- Описание: Минимальный порог оценки компактизации холодных данных для ее запуска. Когда оценка компактизации холодных данных превышает этот порог, рассматривается возможность компактизации. Изменение значения позволяет управлять частотой и интенсивностью компактизации холодных данных в удаленном хранилище. Поддерживается начиная с версии 3.1.3.
- Значение по умолчанию: 100
cold_data_compaction_thread_num
- Тип: int32
- Описание: Количество потоков для компактизации холодных данных. Этот параметр управляет степенью параллелизма таких задач. Увеличение значения позволяет выполнять больше задач компактизации холодных данных одновременно, что может повысить пропускную способность, но также увеличивает потребление ресурсов.
- Значение по умолчанию: 2
cold_data_compaction_interval_sec
- Тип: int32
- Описание: Интервал между запусками компактизации холодных данных в секундах. При меньшем интервале возможность компактизации холодных данных рассматривается чаще, что может ускорить очистку, но увеличить потребление ресурсов.
- Значение по умолчанию: 1800 (секунд)
enable_compaction_pause_on_high_memory
- Тип: bool
- Описание: Определяет, следует ли приостанавливать задачи компактизации при высоком потреблении памяти процессом. Поддерживает динамическое изменение.
- Если параметр включен, BE приостанавливает компактизацию при нехватке памяти, отдавая приоритет запросам и загрузкам.
- Однако приостановка компактизации еще больше затрудняет объединение tablet с высокой оценкой компактизации и тем самым усиливает накопление метаданных и потребление памяти, которые должна была снизить. Начиная с версии 4.0.8 значение по умолчанию изменено с
trueнаfalse, поэтому по умолчанию высокое потребление памяти больше не приводит к приостановке компактизации. - Чтобы сохранить прежнее поведение, верните значение
true.
- Значение по умолчанию: false (до 4.0.8 было true)
Загрузка
request_cdc_client_timeout_ms
- Тип: int32
- Описание: Время ожидания запроса клиента CDC в миллисекундах. Поддерживает динамическую настройку. В версии 4.1.5 значение по умолчанию увеличено с
60000до120000, чтобы поддерживать более медленные запросы CDC. - Значение по умолчанию: 120000 (60000 до 4.1.5)
enable_table_memtable_flush_backpressure
- Тип: bool
- Описание: Добавлен в версии 4.1.4. Определяет, следует ли блокировать новые записи в таблицу, если слишком много ее MemTable на этом BE ожидают сброса на диск. Используется вместе с параметром FE
enable_adaptive_random_bucket_load, чтобы предотвратить накопление MemTable и рост потребления памяти при адаптивной загрузке в случайные бакеты. - Значение по умолчанию: true
table_memtable_flush_pending_count_limit
- Тип: int32
- Описание: Добавлен в версии 4.1.4. Максимальное количество MemTable одной таблицы, которые могут ожидать сброса на диск на этом BE. При превышении предела новые записи блокируются, пока количество не опустится ниже предела. Действует только при
enable_table_memtable_flush_backpressure = true. - Значение по умолчанию: 10
group_commit_max_wal_num_per_table
- Тип: int32
- Описание: Добавлен в версии 4.1.4. Максимальное количество файлов WAL Group Commit для одной таблицы;
0означает отсутствие ограничения. Если воспроизведение WAL постоянно завершается с ошибкой и количество WAL превышает этот предел, загрузки Group Commit в режимеasync_modeдля этой таблицы отклоняются с ошибкойEXCEEDED_LIMITи сообщением видаToo many group commit async WALs for table .... Ограничение предотвращает неограниченное накопление WAL и заполнение диска. - Значение по умолчанию: 10
enable_stream_load_record
- Тип: bool
- Описание: Определяет, следует ли включить функцию записи сведений о Stream Load. По умолчанию false.
- Значение по умолчанию: false
load_data_reserve_hours
- Описание: Используется для mini load. По истечении этого времени файл данных mini load удаляется.
- Значение по умолчанию: 4 (h)
push_worker_count_high_priority
- Описание: Количество потоков загрузки для обработки задач с приоритетом HIGH.
- Значение по умолчанию: 3
push_worker_count_normal_priority
- Описание: Количество потоков загрузки для обработки задач с приоритетом NORMAL.
- Значение по умолчанию: 3
enable_single_replica_load
- Описание: Определяет, следует ли включить загрузку данных в одну реплику.
- Значение по умолчанию: true
load_error_log_reserve_hours
- Описание: По истечении этого времени журнал ошибок загрузки удаляется.
- Значение по умолчанию: 48 (h)
load_error_log_limit_bytes
- Описание: Журналы ошибок загрузки, превышающие этот размер, обрезаются.
- Значение по умолчанию: 209715200 (байт)
load_process_max_memory_limit_percent
- Описание: Доля верхнего предела памяти, занимаемая всеми потоками загрузки на одном узле. По умолчанию 50%.
- Значения по умолчанию заданы достаточно большими, чтобы не снижать производительность загрузки при обновлении Doris. При необходимости пользователь должен задать подходящие значения этих параметров.
- Значение по умолчанию: 50 (%)
load_process_soft_mem_limit_percent
- Описание: Мягкое ограничение задает долю предела памяти загрузки на одном узле. Например, если предел памяти для всех задач загрузки равен 20GB, то мягкое ограничение по умолчанию составляет 50% от него, то есть 10GB. Когда потребление памяти загрузкой превышает мягкое ограничение, для сброса на диск выбирается задача с наибольшим потреблением памяти, чтобы освободить память. По умолчанию 50%.
- Значение по умолчанию: 50 (%)
slave_replica_writer_rpc_timeout_sec
- Тип: int32
- Описание: Используется главным образом для изменения времени ожидания brpc между ведущей и ведомой репликами при загрузке в одну реплику.
- Значение по умолчанию: 60
max_segment_num_per_rowset
- Тип: int32
- Описание: Ограничивает количество сегментов в новом rowset, создаваемом при загрузке. При превышении порога загрузка завершается с ошибкой -238. Слишком большое количество сегментов приводит к высокому потреблению памяти при компактизации и ошибкам OOM.
- Значение по умолчанию: 200
high_priority_flush_thread_num_per_store
- Тип: int32
- Описание: Количество потоков сброса на диск для каждого пути хранения, выделяемых задачам загрузки с высоким приоритетом.
- Значение по умолчанию: 1
routine_load_consumer_pool_size
- Тип: int32
- Описание: Количество кешируемых потребителей данных, используемых Routine Load.
- Значение по умолчанию: 10
multi_table_batch_plan_threshold
- Тип: int32
- Описание: Используется при загрузке одного потока в несколько таблиц. Если размер полученного из Kafka пакета сообщений превышает этот порог, запрашиваются планы для всех связанных таблиц.
- Значение по умолчанию: 200
multi_table_max_wait_tables
- Тип: int32
- Описание: Используется при загрузке одного потока в несколько таблиц. Если при получении пакета сообщений из Kafka количество таблиц, ожидающих план, превышает этот порог, запрашиваются планы для всех связанных таблиц. Параметр позволяет избежать одновременного запроса и выполнения слишком большого количества планов. Обработка небольших пакетов для нескольких таблиц во время загрузки снижает нагрузку на отдельный RPC и повышает оперативность обработки данных.
- Значение по умолчанию: 5
single_replica_load_download_num_workers
- Тип: int32
- Описание: Используется главным образом для изменения количества рабочих HTTP-потоков скачивания сегментов при загрузке в одну реплику. При увеличении параллелизма загрузки этот параметр можно изменить, чтобы ведомая реплика своевременно синхронизировала файлы данных с ведущей репликой. При необходимости также следует увеличить
webserver_num_workersдля повышения производительности ввода-вывода. - Значение по умолчанию: 64
load_task_high_priority_threshold_second
- Тип: int32
- Описание: Если время ожидания задачи загрузки меньше этого порога, Doris считает ее задачей с высоким приоритетом. Такие задачи используют отдельный пул потоков сброса на диск.
- Значение по умолчанию: 120
min_load_rpc_timeout_ms
- Тип: int32
- Описание: Минимальное время ожидания каждого RPC в задании загрузки.
- Значение по умолчанию: 20
kafka_api_version_request
- Тип: bool
- Описание: Если используемая версия Kafka ниже 0.10.0.0, следует задать false.
- Значение по умолчанию: true
kafka_broker_version_fallback
- Описание: Если используемая версия Kafka ниже 0.10.0.0 и для kafka_api_version_request задано false, используется резервная версия, заданная параметром kafka_broker_version_fallback. Допустимые значения: 0.9.0.x, 0.8.x.y.
- Значение по умолчанию: 0.10.0
max_consumer_num_per_group
- Описание: Максимальное количество потребителей в группе потребителей данных. Используется для Routine Load.
- Значение по умолчанию: 3
streaming_load_max_mb
- Тип: int64
- Описание: Ограничивает максимальный объем данных CSV в одной загрузке Stream Load.
- Stream Load обычно подходит для загрузки данных объемом менее нескольких GB и не подходит для загрузки слишком больших объемов.
- Значение по умолчанию: 10240 (MB)
- Динамическое изменение: да
streaming_load_json_max_mb
- Тип: int64
- Описание: Ограничивает максимальный объем данных JSON в одной загрузке Stream Load. Единица измерения: MB.
- Некоторые форматы данных, например JSON, нельзя разделить на части. Перед началом разбора Doris должен прочитать все данные в память. Поэтому параметр ограничивает максимальный объем данных одной загрузки Stream Load.
- Значение по умолчанию: 100
- Динамическое изменение: да
olap_table_sink_send_interval_microseconds
- Описание: Во время загрузки данных поток опроса непрерывно отправляет данные из узла sink координатора на соответствующий BE. Этот поток проверяет наличие данных для отправки каждые
olap_table_sink_send_interval_microsecondsмикросекунд. - Значение по умолчанию: 1000
olap_table_sink_send_interval_auto_partition_factor
- Описание: При загрузке данных в таблицу с автоматическим партиционированием интервал
olap_table_sink_send_interval_microsecondsоказывается слишком большим. В этом случае фактический интервал умножается на данный коэффициент. - Значение по умолчанию: 0.001
enable_group_commit_streamload_be_forward
- Тип: bool
- Описание: Определяет, следует ли включить перенаправление Stream Load через BE для Group Commit в режиме с разделением вычислений и хранения. Добавлен в версии 4.0.8 ветки Doris 4.0 и в версии 4.1.4 ветки 4.1. Поддерживает динамическое изменение.
- Эта возможность решает проблему, при которой балансировщик нагрузки случайным образом распределяет запросы Group Commit для одной таблицы между разными BE и мешает эффективному формированию пакетов: после включения BE перенаправляет запрос на один целевой BE.
- Начиная с версии 4.0.8 доступ к конечной точке BE
/api/{db}/{table}/_stream_load_forwardрегулируется этим параметром: при значенииfalseзапросы к ней возвращают403 Forbiddenс сообщениемStream load forward is disabled; при значенииtrueзапросы к ней также должны пройти аутентификацию и требуют глобальной привилегииLOAD. - В развертываниях, использующих это перенаправление, необходимо задать значение
trueна FE и BE (см. одноименный параметр FE в разделе Конфигурация FE).
- Значение по умолчанию: false
Потоки
delete_worker_count
- Описание: Количество потоков, выполняющих задачи удаления данных.
- Значение по умолчанию: 3
clear_transaction_task_worker_count
- Описание: Количество потоков для очистки транзакций.
- Значение по умолчанию: 1
clone_worker_count
- Описание: Количество потоков для выполнения задач клонирования.
- Значение по умолчанию: 3
be_service_threads
- Тип: int32
- Описание: Количество потоков выполнения службы сервера thrift на BE. Определяет количество потоков, доступных для выполнения запросов FE.
- Значение по умолчанию: 64
download_worker_count
- Описание: Количество потоков скачивания.
- Значение по умолчанию: 1
drop_tablet_worker_count
- Описание: Количество потоков для удаления tablet.
- Значение по умолчанию: 3
flush_thread_num_per_store
- Описание: Количество потоков для сброса таблицы в памяти на диск на каждое хранилище.
- Значение по умолчанию: 2
publish_version_worker_count
- Описание: Количество потоков публикации версий.
- Значение по умолчанию: 8
upload_worker_count
- Описание: Максимальное количество потоков для загрузки файлов на сервер.
- Значение по умолчанию: 1
webserver_num_workers
- Описание: Количество рабочих потоков веб-сервера по умолчанию.
- Значение по умолчанию: 48
send_batch_thread_pool_thread_num
- Тип: int32
- Описание: Количество потоков в пуле SendBatch. В задачах отправки данных NodeChannel операция SendBatch каждого NodeChannel передается в пул потоков как задача для планирования. Этот параметр определяет размер пула потоков SendBatch.
- Значение по умолчанию: 64
send_batch_thread_pool_queue_size
- Тип: int32
- Описание: Длина очереди пула потоков SendBatch. В задачах отправки данных NodeChannel операция SendBatch каждого NodeChannel передается в пул потоков как задача, ожидающая планирования. Когда количество переданных задач превышает длину очереди пула, передача последующих задач блокируется до появления свободного места в очереди.
- Значение по умолчанию: 102400
make_snapshot_worker_count
- Описание: Количество потоков создания снимков.
- Значение по умолчанию: 5
release_snapshot_worker_count
- Описание: Количество потоков освобождения снимков.
- Значение по умолчанию: 5
Память
madvise_huge_pages
- Тип: bool
- Описание: Определяет, следует ли использовать большие страницы памяти Linux.
- Значение по умолчанию: false
max_memory_sink_batch_count
- Описание: Максимальное количество пакетов в кеше внешнего сканирования. В кеше хранится max_memory_cache_batch_count * batch_size строк. По умолчанию количество пакетов равно 20, а batch_size равен 1024, то есть кешируется 20 * 1024 строк.
- Значение по умолчанию: 20
memory_max_alignment
- Описание: Максимальное выравнивание памяти.
- Значение по умолчанию: 16
mmap_buffers
- Описание: Определяет, следует ли использовать mmap для выделения памяти.
- Значение по умолчанию: false
memtable_mem_tracker_refresh_interval_ms
- Описание: Интервал в миллисекундах между итерациями обновления менеджера сброса memtable на диск.
- Значение по умолчанию: 100
zone_map_row_num_threshold
- Тип: int32
- Описание: Если количество строк на странице меньше этого значения, zonemap не создается, чтобы уменьшить рост объема данных.
- Значение по умолчанию: 20
memory_mode
- Тип: string
- Описание: Управляет сборкой мусора tcmalloc. В режиме performance Doris освобождает память кеша tcmalloc при потреблении >= 90% * mem_limit; в остальных случаях Doris освобождает память кеша tcmalloc при потреблении >= 50% * mem_limit.
- Значение по умолчанию: performance
max_sys_mem_available_low_water_mark_bytes
- Тип: int64
- Описание: Максимальная нижняя граница доступной системной памяти
/proc/meminfo/MemAvailable, в байтах. По умолчанию 1.6G; фактическая нижняя граница равна min(1.6G, MemTotal * 10%), что позволяет избежать излишнего резервирования памяти на машинах с объемом памяти больше 16G. При увеличении максимума на машинах с памятью больше 16G резервируется больше памяти для Full GC. Уменьшение максимума позволяет использовать как можно больше памяти. - Значение по умолчанию: 1717986918
memory_limitation_per_thread_for_schema_change_bytes
- Описание: Максимальный объем памяти, допустимый для одной задачи изменения схемы.
- Значение по умолчанию: 2147483648 (2GB)
mem_tracker_consume_min_size_bytes
- Тип: int32
- Описание: Минимальный объем для TCMalloc Hook при вызовах consume/release в MemTracker. Объемы потребления меньше этого значения накапливаются, чтобы избежать частых вызовов consume/release в MemTracker. Уменьшение значения повышает частоту вызовов consume/release. Увеличение значения снижает точность статистики MemTracker. Теоретически отклонение статистики MemTracker от фактического значения равно ( mem_tracker_consume_min_size_bytes * количество потоков BE, в которых используется MemTracker).
- Значение по умолчанию: 1,048,576
min_buffer_size
- Описание: Минимальный размер буфера чтения.
- Значение по умолчанию: 1024 (байт)
write_buffer_size
- Описание: Размер буфера до сброса на диск.
- Загружаемые данные сначала записываются в блок памяти на BE и сбрасываются на диск только при достижении этим блоком порогового размера. Размер по умолчанию составляет 200MB. Слишком низкий порог может привести к появлению большого количества мелких файлов на BE. Порог можно увеличить, чтобы сократить количество файлов. Однако слишком высокий порог может приводить к превышению времени ожидания RPC.
- Значение по умолчанию: 209,715,200
remote_storage_read_buffer_mb
- Тип: int32
- Описание: Размер кеша, используемого при чтении файлов из HDFS или объектного хранилища.
- Увеличение значения позволяет сократить количество вызовов чтения удаленных данных, но повышает расход памяти.
- Значение по умолчанию: 16 (MB)
file_cache_type
- Тип: string
- Описание: Тип файлового кеша.
whole_file_cache: скачивается весь файл сегмента;sub_file_cache: файл сегмента делится на несколько файлов по размеру. При значении "" кеширование отключено. Задайте этот параметр, если требуется кеширование. - Значение по умолчанию: ""
path_gc_check
- Тип:bool
- Описание: Определяет, следует ли включить проверку потока сканирования данных для очистки.
- Значение по умолчанию:true
path_gc_check_interval_second
- Описание: Интервал проверки потока сканирования данных для очистки.
- Значение по умолчанию:86400 (s)
path_gc_check_step
- Значение по умолчанию:1000
path_gc_check_step_interval_ms
- Значение по умолчанию:10 (ms)
scan_context_gc_interval_min
- Описание: Период планирования потока сборки мусора контекста. Примечание: единица измерения: минуты; по умолчанию 5 минут.
- Значение по умолчанию:5
Хранение
inverted_index_skip_norms_for_variant
- Тип: bool
- Описание: Поддерживается начиная с версии 4.1.5. Поддерживает динамическую настройку. При значении
trueинвертированные индексы подпутей VARIANT не сохраняют Norms независимо от свойства индексаnorms. Это уменьшает объем хранения индексов для нескольких подпутей, но такие индексы больше не могут поддерживать вычисления BM25score(), требующие Norms. По умолчанию Norms сохраняются. См. Оценка релевантности. - Значение по умолчанию: false
default_num_rows_per_column_file_block
- Тип: int32
- Описание: Задает количество строк данных в одном RowBlock.
- Значение по умолчанию: 1024
disable_storage_page_cache
- Тип: bool
- Описание: Отключает использование кеша страниц для кеширования индексов. Параметр действует только для формата хранения BETA. Обычно рекомендуется значение false.
- Значение по умолчанию: false
disk_stat_monitor_interval
- Описание: Интервал проверки состояния диска.
- Значение по умолчанию: 5 (s)
max_free_io_buffers
- Описание: Максимальное количество буферов, резервируемых IoMgr для каждого размера буфера ввода-вывода. Размеры буферов варьируются от 1024B до 8MB, общий объем буферов составляет примерно до 2GB.
- Значение по умолчанию: 128
max_garbage_sweep_interval
- Описание: Максимальный интервал очистки диска от мусора.
- Значение по умолчанию: 3600 (s)
max_percentage_of_error_disk
- Тип: int32
- Описание: Допустимая доля неисправных жестких дисков для движка хранения. При превышении этой доли BE автоматически завершает работу.
- Значение по умолчанию: 0
min_garbage_sweep_interval
- Описание: Минимальный интервал между очистками диска от мусора.
- Значение по умолчанию: 180 (s)
pprof_profile_dir
- Описание: Каталог сохранения профилей pprof.
- Значение по умолчанию: ${DORIS_HOME}/log
small_file_dir
- Описание: Каталог сохранения файлов, скачанных SmallFileMgr.
- Значение по умолчанию: ${DORIS_HOME}/lib/small_file/
user_function_dir
- Описание: Каталог функций UDF.
- Значение по умолчанию:
${DORIS_HOME}/lib/udf
storage_flood_stage_left_capacity_bytes
- Описание: Минимальный объем свободного места в байтах, который должен оставаться в каталоге данных.
- Значение по умолчанию: 1073741824
storage_flood_stage_usage_percent
- Описание: Параметры storage_flood_stage_usage_percent и storage_flood_stage_left_capacity_bytes ограничивают максимальное использование емкости каталога данных.
- Значение по умолчанию: 90 (90%)
storage_medium_migrate_count
- Описание: Количество потоков клонирования.
- Значение по умолчанию: 1
storage_page_cache_limit
- Описание: Размер кеша страниц хранилища.
- Значение по умолчанию: 20%
storage_page_cache_shard_size
- Описание: Количество шардов StoragePageCache; значение должно быть степенью двойки. Для уменьшения конкуренции за блокировки рекомендуется значение, близкое к количеству ядер BE.
- Значение по умолчанию: 16
index_page_cache_percentage
- Тип: int32
- Описание: Доля кеша страниц индекса в общем кеше страниц хранилища, в процентах. Диапазон значений: [0, 100].
- Значение по умолчанию: 10
segment_cache_capacity
- Тип: int32
- Описание: Максимальное количество записей кеша сегментов (ключом служит идентификатор rowset). Значение -1 обеспечивает обратную совместимость и соответствует fd_number * 2/5.
- Значение по умолчанию: -1
storage_strict_check_incompatible_old_format
- Тип: bool
- Описание: Включает строгую проверку несовместимого старого формата.
- Значение по умолчанию: true
- Динамическое изменение: false
sync_tablet_meta
- Описание: Определяет, включает ли движок хранения синхронную запись на диск.
- Значение по умолчанию: true
pending_data_expire_time_sec
- Описание: Максимальный срок хранения неподтвержденных данных в движке хранения.
- Значение по умолчанию: 1800 (s)
ignore_rowset_stale_unconsistent_delete
- Тип: boolean
- Описание: Определяет, следует ли удалять устаревшие объединенные rowset, если они не образуют согласованный путь версий.
- Путь версий устаревших объединенных rowset удаляется через полчаса. В нештатных ситуациях удаление этих версий может привести к невозможности построить согласованный путь для запроса. При значении false выполняется строгая проверка: программа немедленно сообщает об ошибке и завершает работу. При значении true программа продолжает работать, игнорируя ошибку. Обычно игнорирование этой ошибки не влияет на запросы; ошибка -230 возникает только при назначении объединенной версии со стороны FE.
- Значение по умолчанию: false
create_tablet_worker_count
- Описание: Количество рабочих потоков BE для создания tablet.
- Значение по умолчанию: 3
check_consistency_worker_count
- Описание: Количество рабочих потоков для вычисления контрольной суммы tablet.
- Значение по умолчанию: 1
max_tablet_version_num
- Тип: int
- Описание: Ограничивает количество версий одного tablet. Предотвращает накопление большого количества версий из-за слишком частой загрузки или несвоевременной компактизации. При превышении предела задача загрузки отклоняется.
- Значение по умолчанию: 2000
tablet_map_shard_size
- Описание: Количество частей tablet_map_lock. Значение задается как 2^n, n=0,1,2,3,4. Используется для повышения эффективности управления tablet.
- Значение по умолчанию: 4
tablet_meta_checkpoint_min_interval_secs
- Описание: Интервал опроса потока TabletMeta Checkpoint.
- Значение по умолчанию: 600 (s)
tablet_meta_checkpoint_min_new_rowsets_num
- Описание: Минимальное количество Rowset для сохранения контрольных точек TabletMeta.
- Значение по умолчанию: 10
tablet_rowset_stale_sweep_time_sec
- Тип: int64
- Описание: Управляет сроком удаления версий объединенных rowset. Если разность между текущим временем now() и самым поздним временем создания rowset в пути версий превышает tablet_rowset_stale_sweep_time_sec, текущий путь очищается, а объединенные rowset удаляются. Единица измерения: секунды.
- При слишком частой записи FE может не успеть запросить объединенную версию, что приводит к ошибке запроса -230. Этого можно избежать, увеличив значение параметра.
- Значение по умолчанию: 300
tablet_writer_open_rpc_timeout_sec
- Описание: Интервал обновления кеша состояния tablet.
- Время ожидания RPC отправки пакета (1024 строки) во время загрузки. По умолчанию 60 секунд. Поскольку этот RPC может включать запись нескольких пакетов из памяти, их запись может привести к превышению времени ожидания RPC. Время ожидания можно изменить, чтобы уменьшить количество таких ошибок, например send batch fail. При увеличении write_buffer_size также необходимо увеличить этот параметр.
- Значение по умолчанию: 60
tablet_writer_ignore_eovercrowded
- Тип: bool
- Описание: Позволяет игнорировать ошибку brpc '[E1011]The server is overcrowded' при записи данных.
- Значение по умолчанию: false
streaming_load_rpc_max_alive_time_sec
- Описание: Время жизни TabletsChannel. Если в течение этого времени канал не получает данные, он удаляется.
- Значение по умолчанию: 1200
alter_tablet_worker_count
- Описание: Количество потоков, выполняющих изменения схемы.
- Значение по умолчанию: 3
alter_index_worker_count
- Описание: Количество потоков, выполняющих изменения индекса.
- Значение по умолчанию: 3
ignore_load_tablet_failure
- Тип: bool
- Описание: Определяет, следует ли игнорировать ошибки загрузки tablet и продолжать запуск BE.
- Значение по умолчанию: false
При запуске BE для каждого каталога данных создается отдельный поток, загружающий метаданные заголовков tablet. В конфигурации по умолчанию, если в каком-либо каталоге данных не удается загрузить tablet, запуск прекращается. При этом в журнале be The following error message is seen in the INFO появляется следующее сообщение об ошибке:
load tablets from header failed, failed tablets size: xxx, path=xxx
Оно показывает количество tablet, которые не удалось загрузить из каталога данных. Журнал также содержит подробные сведения об этих tablet. В этом случае необходимо вручную выяснить причину ошибки. После устранения причины обычно возможны два способа восстановления:
- Если информацию о tablet восстановить нельзя, а остальные реплики исправны, поврежденный tablet можно удалить с помощью инструмента
meta_tool. - Задайте
ignore_load_tablet_failureзначение true: BE проигнорирует неисправные tablet и запустится в обычном режиме.
report_disk_state_interval_seconds
- Описание: Интервал отправки агентом отчетов о состоянии дисков в FE.
- Значение по умолчанию: 60 (s)
result_buffer_cancelled_interval_time
- Описание: Время отмены буфера результатов.
- Значение по умолчанию: 300 (s)
snapshot_expire_time_sec
- Описание: Интервал очистки файлов снимков.
- Значение по умолчанию:172800 (48 часов)
Журналирование
sys_log_dir
- Тип: string
- Описание: Каталог хранения журналов BE.
- Значение по умолчанию:
${DORIS_HOME}/log
sys_log_level
- Описание: Уровень журналирования: INFO < WARNING < ERROR < FATAL.
- Значение по умолчанию: INFO
sys_log_roll_mode
- Описание: Размер ротации журналов: новый файл создается каждые 1G.
- Значение по умолчанию: SIZE-MB-1024
sys_log_roll_num
- Описание: Количество сохраняемых файлов журнала.
- Значение по умолчанию: 10
sys_log_verbose_level
- Описание: Уровень подробности журнала для управления выводом через VLOG в коде.
- Значение по умолчанию: 10
sys_log_verbose_modules
- Описание: Модули, для которых выводятся журналы. Например, при значении olap выводятся только журналы модуля olap.
- Значение по умолчанию: пусто
aws_log_level
- Тип: int32
- Описание: Уровень журналирования AWS SDK,
Off = 0,
Fatal = 1,
Error = 2,
Warn = 3,
Info = 4,
Debug = 5,
Trace = 6 - Значение по умолчанию: 3
log_buffer_level
- Описание: Стратегия сброса журналов; по умолчанию журналы хранятся в памяти.
- Значение по умолчанию: пусто
Прочее
enable_arrow_input_validation
- Тип: bool
- Описание: Добавлен в версии 4.1.4. Определяет, следует ли проверять входные буферы Arrow перед преобразованием данных Arrow во внутренние столбцы Doris. Включение предотвращает аварийное завершение BE из-за некорректных данных Arrow ценой небольших дополнительных затрат на проверку.
- Значение по умолчанию: true
report_tablet_interval_seconds
- Описание: Интервал отправки агентом отчетов о таблице OLAP в FE.
- Значение по умолчанию: 60 (s)
report_task_interval_seconds
- Описание: Интервал отправки агентом сигнатуры задачи в FE.
- Значение по умолчанию: 10 (s)
periodic_counter_update_period_ms
- Описание: Период обновления счетчика скорости и счетчика выборки.
- Значение по умолчанию: 500 (ms)
enable_metric_calculator
- Описание: При значении true запускается вычислитель метрик для сбора показателей BE; при значении false он не запускается.
- Значение по умолчанию: true
enable_system_metrics
- Описание: Позволяет пользователю включать и отключать системные метрики.
- Значение по умолчанию: true
enable_token_check
- Описание: Используется для совместимости с будущими версиями; впоследствии будет удален.
- Значение по умолчанию: true
max_runnings_transactions_per_txn_map
- Описание: Максимальное количество txn для каждого txn_partition_map в менеджере txn. Это защитное ограничение предотвращает сохранение слишком большого количества txn в менеджере.
- Значение по умолчанию: 2000
max_download_speed_kbps
- Описание: Максимальная скорость скачивания.
- Значение по умолчанию: 50000 (kb/s)
download_low_speed_time
- Описание: Ограничение времени скачивания.
- Значение по умолчанию: 300 (s)
download_low_speed_limit_kbps
- Описание: Минимальная скорость скачивания.
- Значение по умолчанию: 50 (KB/s)
enable_batch_download
- Описание: Определяет, следует ли скачивать файлы пакетами. Рекомендуется включать при использовании binlog.
- Значение по умолчанию: false
priority_queue_remaining_tasks_increased_frequency
- Описание: Частота повышения приоритета оставшихся задач в BlockingPriorityQueue.
- Значение по умолчанию: 512
jdbc_drivers_dir
- Описание: Каталоги размещения драйверов JDBC по умолчанию.
- Значение по умолчанию:
${DORIS_HOME}/jdbc_drivers
enable_simdjson_reader
- Описание: Определяет, следует ли использовать simdjson для разбора JSON при Stream Load.
- Значение по умолчанию: true
user_files_secure_path
- Описание: Каталог хранения файлов, запрашиваемых табличными функциями
local. - Значение по умолчанию:
${DORIS_HOME}
brpc_streaming_client_batch_bytes
- Описание: Размер пакета отправки данных потоковым клиентом brpc.
- Значение по умолчанию: 262144
grace_shutdown_wait_seconds
- Описание: При облачном развертывании BE часто добавляются в кластер и удаляются из него. Если на останавливаемом BE выполняется фрагмент запроса, запрос пользователя завершится с ошибкой. Можно использовать stop_be.sh --grace: тогда BE дождется завершения всех выполняющихся запросов, чтобы избежать их сбоев. Если время ожидания превысит предел, BE завершит работу немедленно. В этот период FE не отправляет новые запросы на BE и ожидает завершения всех выполняющихся запросов.
- Значение по умолчанию: 120
enable_java_support
- Описание: Определяет, следует ли включить java-jni в BE. После включения разрешены взаимные вызовы между c++ и java. Сейчас поддерживаются hudi, java-udf, jdbc, max-compute, paimon, preload, avro.
- Значение по умолчанию: true
group_commit_wal_path
- Каталог
WALдля Group Commit. - Значение по умолчанию: каталог с именем
walсоздается в каждом каталоге изstorage_root_path. Примеры настройки:group_commit_wal_path=/data1/storage/wal;/data2/storage/wal;/data3/storage/wal
Режим с разделением вычислений и хранения
deploy_mode
-
Значение по умолчанию: ""
-
Описание: Режим работы BE.
cloudобозначает режим с разделением хранения и вычислений.
meta_service_endpoint
Значение по умолчанию: ""
- Описание: Адреса Meta Service следует задавать в формате 'host1:port,host2:port'. Обычно FE передает это значение BE через heartbeat, поэтому задавать его не требуется.
enable_file_cache
Значение по умолчанию: true (включен по умолчанию начиная с версии 4.1.5; ранее false; всегда включен в режиме с разделением вычислений и хранения).
- Описание: Определяет, следует ли использовать файловый кеш. Для применения изменений требуется перезапуск BE. Переменная сеанса
enable_file_cacheтакже должна быть включена. В версии 4.1.5 значения по умолчанию параметра BE и переменной сеанса изменены наtrue; отдельно проверьте существующую явную конфигурацию и сохраненные глобальные переменные.
enable_ms_rpc_host_level_rate_limit_dry_run
- Тип: bool
- Описание: Поддерживается начиная с версии 4.1.5. Поддерживает динамическую настройку. Оценивает ограничение частоты RPC от BE к Meta Service на уровне хоста без ожидания. Не зависит от
enable_ms_rpc_host_level_rate_limit: оценка выполняется, даже если тот параметр равенfalse; если оба равныtrue, приоритет имеет dry-run. Чтобы применять ограничение частоты, включитеenable_ms_rpc_host_level_rate_limitи отключите этот параметр. - Значение по умолчанию: true
enable_ms_backpressure_handling_dry_run
- Тип: bool
- Описание: Поддерживается начиная с версии 4.1.5. Поддерживает динамическую настройку. Оценивает адаптивное ограничение частоты на уровне таблицы, запускаемое ответами Meta Service
MS_BUSY, без ожидания. Не зависит отenable_ms_backpressure_handling; если оба параметра равныtrue, приоритет имеет dry-run. Чтобы применять ограничение частоты на уровне таблицы, включитеenable_ms_backpressure_handlingи отключите этот параметр. - Значение по умолчанию: true
cache_peer_read_failure_threshold
- Тип: int32
- Описание: Поддерживается начиная с версии 4.2.0. Поддерживает динамическую настройку. Количество последовательных сбоев подключения или RPC для адреса другого BE, после которого срабатывает автоматический выключатель. Эффективный минимум равен
1. Это состояние на уровне адреса используется совместно при чтении разных tablet с других BE, чтобы избежать повторных подключений к недоступному узлу. - Значение по умолчанию: 3
cache_peer_read_circuit_open_seconds
- Тип: int32
- Описание: Поддерживается начиная с версии 4.2.0. Поддерживает динамическую настройку. Время в секундах, в течение которого сработавший автоматический выключатель отклоняет чтение по адресу другого BE. Отрицательные значения считаются равными
0. По истечении этого периода разрешается одна пробная попытка восстановления. - Значение по умолчанию: 30
delete_bitmap_store_v2_max_bytes_in_fdb
- Тип: int64
- Описание: Максимальный размер сериализованного Delete Bitmap V2 в байтах, сохраняемого непосредственно в FDB в режиме с разделением вычислений и хранения. Поддерживает динамическую настройку. Значения, превышающие неотрицательный порог, сохраняются в файле объектного хранилища; отрицательное значение отключает такой перенос по размеру. В версии 4.1.5 значение по умолчанию увеличено с
1024до89000, чтобы оставить место для дополнительных полей сообщения в блоке размером 90000 байт. - Значение по умолчанию: 89000 (1024 до 4.1.5)
enable_remove_agg_pre_rowsets_delete_bitmap_by_keys
- Тип: bool
- Описание: Поддерживается начиная с версии 4.1.5. Поддерживает динамическую настройку. При замене агрегированных исторических Delete Bitmap в режиме с разделением вычислений и хранения удаляет записи конечной версии по ключу. Задайте
false, чтобы использовать удаление диапазона. Параметр меняет только способ удаления записей существующим механизмом очистки и не включает дополнительную задачу очистки. - Значение по умолчанию: true
enable_remove_pre_rowsets_delete_bitmap_by_keys
- Тип: bool
- Описание: Поддерживается начиная с версии 4.1.5. Поддерживает динамическую настройку. При очистке исторических Delete Bitmap внутри агрегированного диапазона в режиме с разделением вычислений и хранения удаляет записи по ключу от начальной версии включительно до конечной версии исключительно. Задайте
false, чтобы использовать удаление диапазона. Существующие переключатели и предварительные условия очистки продолжают действовать. - Значение по умолчанию: true
file_cache_path
Значение по умолчанию: [{"path":"${DORIS_HOME}/file_cache"}]
- Описание: Пути на дисках и другие параметры файлового кеша в виде массива с отдельной записью для каждого диска.
pathзадает путь на диске, аtotal_sizeограничивает размер кеша; значения -1 или 0 означают использование всего дискового пространства. - Формат: [{"path":"/path/to/file_cache","total_size":21474836480,{"path":"/path/to/file_cache2","total_size":21474836480}]
enable_async_file_cache_write
- Тип: bool
- Описание: Добавлен в версии 4.1.4. Определяет, следует ли записывать файловый кеш асинхронно. После включения запись удаленных данных в файловый кеш передается фоновому пулу потоков и не блокирует чтение, что снижает задержку чтения некешированных данных.
- Значение по умолчанию: false
async_file_cache_write_workers_per_disk
- Тип: int32
- Описание: Добавлен в версии 4.1.4. Количество потоков записи на каждый диск кеша при асинхронной записи файлового кеша. Действует только при
enable_async_file_cache_write = true. - Значение по умолчанию: 16
async_file_cache_write_max_pending_bytes
- Тип: int64
- Описание: Добавлен в версии 4.1.4. Максимальный общий объем данных в байтах, ожидающих асинхронной записи в файловый кеш. Запросы записи сверх этого предела отбрасываются. Это не влияет на корректность запросов, но данные не попадают в кеш.
-1означает отсутствие ограничения. - Значение по умолчанию: -1
enable_file_cache_write_from_s3_file_writer
- Тип: bool
- Описание: Добавлен в версии 4.1.4. Определяет, следует ли при записи в объектное хранилище также записывать данные в локальный файловый кеш, чтобы новые данные можно было сразу читать из кеша.
- Значение по умолчанию: true
enable_file_cache_write_index_file_only
- Тип: bool
- Описание: Добавлен в версии 4.1.4. Определяет, следует ли записывать в файловый кеш только файлы индексов. После включения при ограниченном пространстве кеша в нем в первую очередь сохраняются индексы.
- Значение по умолчанию: false
enable_cache_read_from_peer
- Тип: bool
- Описание: Главный переключатель чтения из кеша других BE. Если включен, при промахе локального File Cache сначала выполняется попытка чтения блока из File Cache другого BE в той же или другой вычислительной группе. Объектное хранилище используется, только если блок отсутствует на всех BE. Этот переключатель одновременно управляет чтением внутри группы и между группами; отдельно отключить чтение между группами нельзя. Чтение из кеша BE другой группы поддерживается начиная с версии 4.2.0, в которой также удален параметр
cache_read_from_peer_expired_seconds. См. Чтение из кеша других BE. - Значение по умолчанию: false (при необходимости включите явно)
enable_peer_s3_race
- Тип: bool
- Описание: Добавлен в версии 4.2.0. Определяет, следует ли выполнять чтение с другого BE и из объектного хранилища параллельно, используя первый полученный результат. Если выключен, чтение выполняется последовательно: кандидаты BE проверяются по очереди, а чтение из объектного хранилища начинается только после неудачи всех попыток.
- Значение по умолчанию: true
peer_race_hedge_delay_ms
- Тип: int32
- Описание: Добавлен в версии 4.2.0. Время опережения чтения с другого BE при параллельном чтении, в миллисекундах. Если BE отвечает за это время, запрос чтения из объектного хранилища не отправляется; при значении
0оба чтения начинаются одновременно. - Значение по умолчанию: 20
max_concurrent_peer_races
- Тип: int32
- Описание: Добавлен в версии 4.2.0. Максимальное количество одновременных параллельных чтений с другого BE и из объектного хранилища на одном BE. При промахах сверх этого предела чтение выполняется последовательно.
- Значение по умолчанию: 64
peer_cache_fill_compute_group_id
- Тип: string
- Описание: Добавлен в версии 4.2.0. Задается на BE, отправляющем запрос чтения. Идентификатор вычислительной группы, отвечающей за заполнение кеша между группами (это
compute_group_idв столбцеTagкомандыSHOW BACKENDS, а не имя вычислительной группы). Если выбранный кандидат BE принадлежит этой вычислительной группе, запрос предписывает ему получить блок из объектного хранилища и записать в собственный File Cache, если блок отсутствует. Пустое значение означает, что заполнение не используется. - Значение по умолчанию: ""
enable_peer_server_cache_fill
- Тип: bool
- Описание: Добавлен в версии 4.2.0. Задается на BE, предоставляющем кеш. Определяет, следует ли принимать запросы чтения от других BE с флагом заполнения. Если выключен, для блоков, отсутствующих в локальном кеше, возвращается признак «не найдено», и запрашивающий BE обращается к объектному хранилищу.
- Значение по умолчанию: true
peer_server_cache_fill_timeout_ms
- Тип: int32
- Описание: Добавлен в версии 4.2.0. Максимальное время ожидания одного заполнения на обслуживающей стороне, в миллисекундах. При превышении времени ожидания запрашивающий BE обращается к объектному хранилищу.
- Значение по умолчанию: 6000
max_concurrent_peer_server_fills
- Тип: int32
- Описание: Добавлен в версии 4.2.0. Максимальное количество одновременных заполнений на обслуживающей стороне. Запросы заполнения сверх предела отклоняются, и запрашивающий BE обращается к объектному хранилищу.
- Значение по умолчанию: 32
peer_rpc_failure_eviction_threshold
- Тип: int32
- Описание: Добавлен в версии 4.2.0. После такого количества последовательных сбоев RPC кандидат BE удаляется из списка кандидатов.
- Значение по умолчанию: 3
peer_all_miss_cooldown_threshold
- Тип: int32
- Описание: Добавлен в версии 4.2.0. Количество последовательных чтений, при которых все кандидаты BE сообщили об отсутствии данных, после которого tablet переходит в период ожидания. В этот период чтение выполняется непосредственно из объектного хранилища.
- Значение по умолчанию: 5
peer_all_miss_cooldown_duration_s
- Тип: int64
- Описание: Добавлен в версии 4.2.0. Продолжительность периода ожидания перед возобновлением чтения с других BE, в секундах.
- Значение по умолчанию: 300
peer_candidate_expiry_s
- Тип: int64
- Описание: Добавлен в версии 4.2.0. Срок действия записей о кандидатах BE в секундах с момента последнего использования. Просроченные записи удаляются из памяти и при следующем промахе снова запрашиваются у FE.
- Значение по умолчанию: 3600
peer_candidate_cleanup_interval_s
- Тип: int64
- Описание: Добавлен в версии 4.2.0. Интервал фоновой задачи, удаляющей просроченные записи о кандидатах BE, в секундах.
- Значение по умолчанию: 3600
peer_fetch_queue_timeout_ms
- Тип: int32
- Описание: Добавлен в версии 4.2.0. Максимальное время ожидания запроса чтения с другого BE в очереди обработки на обслуживающей стороне, в миллисекундах. Запросы, ожидающие дольше, отклоняются, чтобы запрашивающий BE мог быстро обратиться к объектному хранилищу.
- Значение по умолчанию: 100
brpc_peer_fetch_pool_threads
- Тип: int32
- Описание: Добавлен в версии 4.2.0. Размер пула потоков, обрабатывающего запросы чтения от других BE на обслуживающей стороне. Он изолирован от пула потоков ресурсоемких RPC, например загрузок. Значение
-1означаетmax(64, 2 × CPU cores). Не поддерживает динамическое изменение. - Значение по умолчанию: -1
brpc_peer_fetch_pool_max_queue_size
- Тип: int32
- Описание: Добавлен в версии 4.2.0. Длина очереди пула потоков чтения от других BE на обслуживающей стороне. Значение
-1означаетmax(4096, 128 × CPU cores). Не поддерживает динамическое изменение. - Значение по умолчанию: -1
min_peer_race_s3_thread_num / max_peer_race_s3_thread_num
- Тип: int32
- Описание: Добавлены в версии 4.2.0. Минимальное / максимальное количество потоков в пуле, выполняющем чтение из объектного хранилища на запрашивающей стороне при параллельном чтении с другого BE и из объектного хранилища. Не поддерживают динамическое изменение.
- Значение по умолчанию: 0 / 32
s3_get_requests_per_second_per_core / s3_put_requests_per_second_per_core
- Тип: int64
- Описание: Добавлены в версии 4.1.4. Ограничение QPS для запросов GET / PUT к объектному хранилищу в расчете на ядро CPU. Отрицательное значение отключает этот режим и возвращает к прежней конфигурации с абсолютным количеством токенов;
0означает отсутствие ограничения QPS. - Значение по умолчанию: -1
s3_get_requests_per_second_max / s3_put_requests_per_second_max
- Тип: int64
- Описание: Добавлены в версии 4.1.4. Жесткий верхний предел QPS для GET / PUT, рассчитанного по количеству ядер CPU. Значение меньше или равное
0означает отсутствие верхнего предела. - Значение по умолчанию: 0
s3_get_bytes_per_second_per_core / s3_put_bytes_per_second_per_core
- Тип: int64
- Описание: Добавлены в версии 4.1.4. Ограничение пропускной способности GET / PUT для объектного хранилища в расчете на ядро CPU (байт в секунду на ядро). Значение меньше или равное
0означает отсутствие ограничения пропускной способности. - Значение по умолчанию: -1
s3_get_bytes_per_second_max / s3_put_bytes_per_second_max
- Тип: int64
- Описание: Добавлены в версии 4.1.4. Жесткий верхний предел пропускной способности GET / PUT в байтах в секунду, рассчитанной по количеству ядер CPU. Значение меньше или равное
0означает отсутствие верхнего предела. - Значение по умолчанию: 0
s3_rate_limiter_cpu_cores_override
- Тип: int32
- Описание: Добавлен в версии 4.1.4. Количество ядер CPU, используемое для расчета приведенных выше ограничений частоты и пропускной способности. Значение меньше или равное
0означает автоматическое определение количества ядер машины. - Значение по умолчанию: 0
s3_rate_limiter_log_interval
- Тип: int64
- Описание: Добавлен в версии 4.1.4. Минимальный интервал в миллисекундах между записями в журнале при срабатывании ограничения частоты или пропускной способности объектного хранилища.
- Значение по умолчанию: 1000
file_cache_mem_storage_shard_num
- Тип: int32
- Описание: Добавлен в версии 4.1.4. Количество шардов хранилища файлового кеша в памяти. Используется для уменьшения конкуренции за блокировки при одновременном доступе.
- Значение по умолчанию: 1024
time_series_max_tablet_version_num
- Тип: int
- Описание: Ограничивает количество версий одного tablet при политике компактизации временных рядов. Предотвращает накопление большого количества версий из-за слишком частой загрузки или несвоевременной компактизации. При превышении предела задача загрузки отклоняется.
- Значение по умолчанию: 20000