Параметры сервера
Этот раздел содержит описания параметров настройки сервера. Эти параметры не могут быть изменены на уровне сессии или запроса.
Для получения дополнительной информации о файлах конфигурации в ClickHouse см. ""Файлы конфигурации"".
Другие параметры описаны в разделе ""Параметры"".
Перед изучением параметров мы рекомендуем ознакомиться с разделом Файлы конфигурации и отметить использование подстановок (атрибуты incl
и optional
).
access_control_improvements
Параметры для необязательных улучшений в системе контроля доступа.
Параметр | Описание | По умолчанию |
---|---|---|
users_without_row_policies_can_read_rows | Устанавливает, могут ли пользователи без разрешающих правил строк по-прежнему читать строки, используя запрос SELECT . Например, если есть два пользователя A и B, а правило строки задано только для A, то если этот параметр установлен в true, пользователь B увидит все строки. Если этот параметр установлен в false, пользователь B не увидит ни одной строки. | true |
on_cluster_queries_require_cluster_grant | Устанавливает, требуют ли запросы ON CLUSTER разрешение CLUSTER . | true |
select_from_system_db_requires_grant | Устанавливает, требует ли SELECT * FROM system.<table> каких-либо разрешений и может ли он быть выполнен любым пользователем. Если установить в true, то этот запрос требует GRANT SELECT ON system.<table> , так же как и для обычных таблиц. Исключения: несколько системных таблиц (tables , columns , databases , и некоторые постоянные таблицы, такие как one , contributors ) по-прежнему доступны для всех; и если есть привилегия SHOW (например, SHOW USERS ), то соответствующая системная таблица (т.е. system.users ) будет доступна. | true |
select_from_information_schema_requires_grant | Устанавливает, требует ли SELECT * FROM information_schema.<table> каких-либо разрешений и может ли он быть выполнен любым пользователем. Если установить в true, то этот запрос требует GRANT SELECT ON information_schema.<table> , так же как и для обычных таблиц. | true |
settings_constraints_replace_previous | Устанавливает, будет ли ограничение в профиле параметров для некоторого параметра отменять действия предыдущего ограничения (определенного в других профилях) для этого параметра, включая поля, которые не устанавливаются новым ограничением. Это также включает тип ограничения changeable_in_readonly . | true |
table_engines_require_grant | Устанавливает, требуется ли разрешение для создания таблицы с определенным движком таблицы. | false |
Пример:
access_control_path
Путь к папке, где сервер ClickHouse хранит конфигурации пользователей и ролей, созданные с помощью SQL-команд.
См. также
aggregate_function_group_array_action_when_limit_is_reached
Тип | По умолчанию |
---|---|
GroupArrayActionWhenLimitReached | throw |
Действие, которое выполняется, когда превышен максимальный размер массива элементов в groupArray: throw
исключение или discard
лишние значения.
aggregate_function_group_array_max_element_size
Тип | По умолчанию |
---|---|
UInt64 | 16777215 |
Максимальный размер элемента массива в байтах для функции groupArray. Этот лимит проверяется при сериализации и помогает избежать большого размера состояния.
allow_feature_tier
Тип | По умолчанию |
---|---|
UInt32 | 0 |
Контролирует, может ли пользователь изменять настройки, касающиеся различных уровней функциональности.
0
- Изменения любых настроек разрешены (экспериментальные, бета, производственные).1
- Разрешены только изменения настроек бета и производственной функциональности. Изменения экспериментальных настроек отклоняются.2
- Разрешены только изменения производственных настроек. Изменения экспериментальных или бета-настроек отклоняются.
Это эквивалентно установке ограничения readonly для всех функций EXPERIMENTAL
/ BETA
.
Значение 0
означает, что все настройки могут быть изменены.
allow_implicit_no_password
Запрещает создание пользователя без пароля, если не указано 'IDENTIFIED WITH no_password'.
allow_no_password
Устанавливает, разрешен ли небезопасный тип пароля no_password или нет.
allow_plaintext_password
Устанавливает, разрешены ли типы паролей в открытом виде (небезопасные) или нет.
allow_use_jemalloc_memory
Тип | По умолчанию |
---|---|
Bool | 1 |
Разрешает использование памяти jemalloc.
async_insert_queue_flush_on_shutdown
Тип | По умолчанию |
---|---|
Bool | 1 |
Если true, очередь асинхронных вставок очищается при корректном завершении работы.
async_insert_threads
Тип | По умолчанию |
---|---|
UInt64 | 16 |
Максимальное количество потоков, которое будет использоваться для парсинга и вставки данных в фоновом режиме. Ноль означает, что асинхронный режим отключен.
async_load_databases
Тип | По умолчанию |
---|---|
Bool | 1 |
Асинхронная загрузка баз данных и таблиц.
- Если
true
, все не системные базы данных с движкомOrdinary
,Atomic
иReplicated
будут загружаться асинхронно после запуска сервера ClickHouse. См. таблицуsystem.asynchronous_loader
, параметры сервераtables_loader_background_pool_size
иtables_loader_foreground_pool_size
. Любой запрос, который пытается получить доступ к таблице, которая еще не загружена, будет ждать, пока именно эта таблица не будет запущена. Если задача загрузки завершится неудачно, запрос повторно выдаст ошибку (вместо того, чтобы завершить работу всего сервера в случаеasync_load_databases = false
). Таблица, к которой ожидает доступа хотя бы один запрос, будет загружена с более высоким приоритетом. DDL-запросы на базу данных будут ждать, пока именно эта база данных не будет запущена. Также рассмотрите возможность установки пределаmax_waiting_queries
для общего количества ожидающих запросов. - Если
false
, все базы данных загружаются при запуске сервера.
Пример
async_load_system_database
Тип | По умолчанию |
---|---|
Bool | 0 |
Асинхронная загрузка системных таблиц. Полезно, если в базе данных system
имеется большое количество логов таблиц и частей. Независимо от настройки async_load_databases
.
- Если установлен в
true
, все системные базы данных с движкомOrdinary
,Atomic
иReplicated
будут загружены асинхронно после запуска сервера ClickHouse. См. таблицуsystem.asynchronous_loader
, параметры сервераtables_loader_background_pool_size
иtables_loader_foreground_pool_size
. Любой запрос, который пытается получить доступ к системной таблице, которая еще не загружена, будет ждать, пока именно эта таблица не будет запущена. Таблица, к которой ожидает доступа хотя бы один запрос, будет загружена с более высоким приоритетом. Также рассмотрите возможность установки настройкиmax_waiting_queries
, чтобы ограничить общее количество ожидающих запросов. - Если установлен в
false
, системная база данных загружается до старта сервера.
Пример
asynchronous_heavy_metrics_update_period_s
Тип | По умолчанию |
---|---|
UInt32 | 120 |
Период в секундах для обновления тяжелых асинхронных метрик.
asynchronous_insert_log
Настройки для системной таблицы asynchronous_insert_log для логирования асинхронных вставок.
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Name of the database. | ||
table | Name of the system table. | ||
engine | MergeTree Engine Definition for a system table. | Cannot be used if partition_by or order_by defined. If not specified MergeTree is selected by default | |
partition_by | Custom partitioning key for a system table. | If engine is specified for system table, partition_by parameter should be specified directly inside 'engine' | |
ttl | Specifies the table TTL. | If engine is specified for system table, ttl parameter should be specified directly inside 'engine' | |
order_by | Custom sorting key for a system table. Can't be used if engine defined. | If engine is specified for system table, order_by parameter should be specified directly inside 'engine' | |
storage_policy | Name of the storage policy to use for the table (optional). | If engine is specified for system table, storage_policy parameter should be specified directly inside 'engine' | |
settings | Additional parameters that control the behavior of the MergeTree (optional). | If engine is specified for system table, settings parameter should be specified directly inside 'engine' | |
flush_interval_milliseconds | Interval for flushing data from the buffer in memory to the table. | 7500 | |
max_size_rows | Maximal size in lines for the logs. When the amount of non-flushed logs reaches the max_size, logs are dumped to the disk. | 1048576 | |
reserved_size_rows | Pre-allocated memory size in lines for the logs. | 8192 | |
buffer_size_rows_flush_threshold | Threshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background. | max_size_rows / 2 | |
flush_on_crash | Sets whether logs should be dumped to the disk in case of a crash. | false |
Пример
asynchronous_metric_log
Включено по умолчанию в ClickHouse Cloud развертываниях.
Если параметр не включен по умолчанию в вашей среде, в зависимости от того, как был установлен ClickHouse, вы можете следовать приведенным ниже инструкциям, чтобы включить или отключить его.
Включение
Чтобы вручную включить сбор истории асинхронных метрик system.asynchronous_metric_log
, создайте /etc/clickhouse-server/config.d/asynchronous_metric_log.xml
со следующим содержимым:
Отключение
Чтобы отключить параметр asynchronous_metric_log
, вы должны создать следующий файл /etc/clickhouse-server/config.d/disable_asynchronous_metric_log.xml
со следующим содержимым:
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Name of the database. | ||
table | Name of the system table. | ||
engine | MergeTree Engine Definition for a system table. | Cannot be used if partition_by or order_by defined. If not specified MergeTree is selected by default | |
partition_by | Custom partitioning key for a system table. | If engine is specified for system table, partition_by parameter should be specified directly inside 'engine' | |
ttl | Specifies the table TTL. | If engine is specified for system table, ttl parameter should be specified directly inside 'engine' | |
order_by | Custom sorting key for a system table. Can't be used if engine defined. | If engine is specified for system table, order_by parameter should be specified directly inside 'engine' | |
storage_policy | Name of the storage policy to use for the table (optional). | If engine is specified for system table, storage_policy parameter should be specified directly inside 'engine' | |
settings | Additional parameters that control the behavior of the MergeTree (optional). | If engine is specified for system table, settings parameter should be specified directly inside 'engine' | |
flush_interval_milliseconds | Interval for flushing data from the buffer in memory to the table. | 7500 | |
max_size_rows | Maximal size in lines for the logs. When the amount of non-flushed logs reaches the max_size, logs are dumped to the disk. | 1048576 | |
reserved_size_rows | Pre-allocated memory size in lines for the logs. | 8192 | |
buffer_size_rows_flush_threshold | Threshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background. | max_size_rows / 2 | |
flush_on_crash | Sets whether logs should be dumped to the disk in case of a crash. | false |
asynchronous_metrics_enable_heavy_metrics
Тип | По умолчанию |
---|---|
Bool | 0 |
Включает расчет тяжелых асинхронных метрик.
asynchronous_metrics_update_period_s
Тип | По умолчанию |
---|---|
UInt32 | 1 |
Период в секундах для обновления асинхронных метрик.
auth_use_forwarded_address
Использовать исходящий адрес для аутентификации для клиентов, подключенных через прокси.
Этот параметр следует использовать с особой осторожностью, поскольку переадресованные адреса могут быть легко подделаны - сервера, принимающие такую аутентификацию, не должны быть доступны напрямую, а исключительно через доверенный прокси.
background_buffer_flush_schedule_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 16 |
Максимальное количество потоков, которые будут использоваться для выполнения операций сброса для таблиц с Buffer-engine в фоновом режиме.
background_common_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 8 |
Максимальное количество потоков, которые будут использоваться для выполнения различных операций (в основном сборка мусора) для таблиц с *MergeTree-engine в фоновом режиме.
background_distributed_schedule_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 16 |
Максимальное количество потоков, которые будут использоваться для выполнения распределенных отправок.
background_fetches_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 16 |
Максимальное количество потоков, которые будут использоваться для получения частей данных из другой реплики для таблиц с *MergeTree-engine в фоновом режиме.
background_merges_mutations_concurrency_ratio
Тип | По умолчанию |
---|---|
Float | 2 |
Устанавливает соотношение между количеством потоков и количеством фоновых слияний и мутаций, которые могут выполняться одновременно.
Например, если соотношение равно 2 и background_pool_size
установлено на 16, ClickHouse может выполнять 32 фоновых слияния одновременно. Это возможно, потому что фоновые операции могут быть приостановлены и отложены. Это необходимо, чтобы дать малым слияниям больший приоритет выполнения.
Вы можете только увеличить это соотношение во время выполнения. Чтобы уменьшить его, необходимо перезапустить сервер.
Так же как и параметр background_pool_size
настройка background_merges_mutations_concurrency_ratio
может применяться из профиля default
для обратной совместимости.
background_merges_mutations_scheduling_policy
Тип | По умолчанию |
---|---|
String | round_robin |
Политика, которая определяет, как выполнять планирование фоновых слияний и мутаций. Возможные значения: round_robin
и shortest_task_first
.
Алгоритм, используемый для выбора следующего слияния или мутации, который будет выполняться пулом потоков в фоновом режиме. Политика может быть изменена в режиме выполнения без перезапуска сервера.
Может применяться из профиля default
для обратной совместимости.
Возможные значения:
round_robin
— Каждое одновременно выполняемое слияние и мутация выполняются по принципу круговой очереди, чтобы обеспечить работу без голодания. Меньшие слияния завершаются быстрее, чем большие, просто потому, что у них меньше блоков для слияния.shortest_task_first
— Всегда выполнять меньшие слияния или мутации. Слияния и мутации получают приоритеты на основе их конечного размера. Слияния с меньшими размерами строго предпочитаются перед большими. Эта политика обеспечивает максимально быстрое слияние малых частей, но может привести к бесконечному голоданию больших слияний в разделах, сильно нагруженныхINSERT
ами.
background_message_broker_schedule_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 16 |
Максимальное количество потоков, которые будут использоваться для выполнения фоновых операций для потоковой передачи сообщений.
background_move_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 8 |
Максимальное количество потоков, которые будут использоваться для перемещения частей данных на другой диск или том для таблиц с *MergeTree-engine в фоновом режиме.
background_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 16 |
Устанавливает количество потоков, работающих в фоновом режиме, выполняющих слияния и мутации для таблиц с движками MergeTree.
- Этот параметр также может применяться при старте сервера из конфигурации профиля
default
для обратной совместимости при старте сервера ClickHouse. - Вы можете только увеличить количество потоков во время выполнения.
- Чтобы уменьшить количество потоков, необходимо перезапустить сервер.
- Настраивая этот параметр, вы управляете загрузкой CPU и диска.
Меньший размер пула использует меньше ресурсов CPU и диска, но фоновые процессы продвигаются медленнее, что в конечном итоге может повлиять на производительность запросов.
Прежде чем изменять его, пожалуйста, также обратите внимание на связанные настройки MergeTree, такие как:
number_of_free_entries_in_pool_to_lower_max_size_of_merge
.number_of_free_entries_in_pool_to_execute_mutation
.
Пример
background_schedule_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 512 |
Максимальное количество потоков, которые будут использоваться для постоянного выполнения некоторых легковесных периодических операций для реплицируемых таблиц, потоковой передачи Kafka и обновления кеша DNS.
backup_log
Настройки для системной таблицы backup_log для логирования операций BACKUP
и RESTORE
.
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Name of the database. | ||
table | Name of the system table. | ||
engine | MergeTree Engine Definition for a system table. | Cannot be used if partition_by or order_by defined. If not specified MergeTree is selected by default | |
partition_by | Custom partitioning key for a system table. | If engine is specified for system table, partition_by parameter should be specified directly inside 'engine' | |
ttl | Specifies the table TTL. | If engine is specified for system table, ttl parameter should be specified directly inside 'engine' | |
order_by | Custom sorting key for a system table. Can't be used if engine defined. | If engine is specified for system table, order_by parameter should be specified directly inside 'engine' | |
storage_policy | Name of the storage policy to use for the table (optional). | If engine is specified for system table, storage_policy parameter should be specified directly inside 'engine' | |
settings | Additional parameters that control the behavior of the MergeTree (optional). | If engine is specified for system table, settings parameter should be specified directly inside 'engine' | |
flush_interval_milliseconds | Interval for flushing data from the buffer in memory to the table. | 7500 | |
max_size_rows | Maximal size in lines for the logs. When the amount of non-flushed logs reaches the max_size, logs are dumped to the disk. | 1048576 | |
reserved_size_rows | Pre-allocated memory size in lines for the logs. | 8192 | |
buffer_size_rows_flush_threshold | Threshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background. | max_size_rows / 2 | |
flush_on_crash | Sets whether logs should be dumped to the disk in case of a crash. | false |
Пример
backup_threads
Тип | По умолчанию |
---|---|
UInt64 | 16 |
Максимальное количество потоков для выполнения запросов BACKUP
.
backups
Настройки для резервных копий, используемых при записи BACKUP TO File()
.
Следующие параметры могут быть настроены с помощью под-тегов:
Параметр | Описание | По умолчанию |
---|---|---|
allowed_path | Путь к резервной копии, когда используется File() . Этот параметр необходимо установить, чтобы использовать File . Путь может быть относительным к директории экземпляра или абсолютным. | true |
remove_backup_files_after_failure | Если команда BACKUP завершится неудачно, ClickHouse попытается удалить файлы, уже скопированные в резервную копию до сбоя, в противном случае он оставит скопированные файлы как есть. | true |
Этот параметр по умолчанию настроен так:
backups_io_thread_pool_queue_size
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Максимальное количество задач, которые могут быть запланированы в пуле потоков IO резервных копий. Рекомендуется оставить эту очередь неограниченной из-за текущей логики резервного копирования S3.
Значение 0
(по умолчанию) означает неограниченно.
bcrypt_workfactor
Коэффициент работы для типа аутентификации bcrypt_password, который использует алгоритм Bcrypt.
blog_storage_log
Настройки для системной таблицы blob_storage_log
.
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Name of the database. | ||
table | Name of the system table. | ||
engine | MergeTree Engine Definition for a system table. | Cannot be used if partition_by or order_by defined. If not specified MergeTree is selected by default | |
partition_by | Custom partitioning key for a system table. | If engine is specified for system table, partition_by parameter should be specified directly inside 'engine' | |
ttl | Specifies the table TTL. | If engine is specified for system table, ttl parameter should be specified directly inside 'engine' | |
order_by | Custom sorting key for a system table. Can't be used if engine defined. | If engine is specified for system table, order_by parameter should be specified directly inside 'engine' | |
storage_policy | Name of the storage policy to use for the table (optional). | If engine is specified for system table, storage_policy parameter should be specified directly inside 'engine' | |
settings | Additional parameters that control the behavior of the MergeTree (optional). | If engine is specified for system table, settings parameter should be specified directly inside 'engine' | |
flush_interval_milliseconds | Interval for flushing data from the buffer in memory to the table. | 7500 | |
max_size_rows | Maximal size in lines for the logs. When the amount of non-flushed logs reaches the max_size, logs are dumped to the disk. | 1048576 | |
reserved_size_rows | Pre-allocated memory size in lines for the logs. | 8192 | |
buffer_size_rows_flush_threshold | Threshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background. | max_size_rows / 2 | |
flush_on_crash | Sets whether logs should be dumped to the disk in case of a crash. | false |
Пример:
builtin_dictionaries_reload_interval
Интервал в секундах перед загрузкой встроенных словарей.
ClickHouse перезагружает встроенные словари каждые x секунд. Это позволяет редактировать словари "на лету" без перезагрузки сервера.
Пример
cache_size_to_ram_max_ratio
Тип | По умолчанию |
---|---|
Double | 0.5 |
Устанавливает максимальное соотношение размера кеша к ОЗУ. Позволяет уменьшать размер кеша на системах с низким объемом памяти.
cannot_allocate_thread_fault_injection_probability
Тип | По умолчанию |
---|---|
Double | 0 |
Для целей тестирования.
cgroup_memory_watcher_hard_limit_ratio
Тип | По умолчанию |
---|---|
Double | 0.95 |
Указывает "жесткий" порог потребления памяти сервером согласно cgroups, после которого максимальное потребление памяти сервером корректируется до значения порога.
Смотрите настройки:
cgroup_memory_watcher_soft_limit_ratio
Тип | По умолчанию |
---|---|
Double | 0.9 |
Указывает "мягкий" порог потребления памяти сервером согласно cgroups, после которого арены в jemalloc очищаются.
Смотрите настройки:
cgroups_memory_usage_observer_wait_time
Тип | По умолчанию |
---|---|
UInt64 | 15 |
Интервал в секундах, в течение которого максимальное разрешенное потребление памяти сервера корректируется соответствующим порогом в cgroups.
Чтобы отключить наблюдатель cgroup, установите это значение в 0
.
Смотрите настройки:
compiled_expression_cache_elements_size
Тип | По умолчанию |
---|---|
UInt64 | 10000 |
Устанавливает размер кеша (в элементах) для содержательных выражений.
compiled_expression_cache_size
Тип | По умолчанию |
---|---|
UInt64 | 134217728 |
Устанавливает размер кеша (в байтах) для содержательных выражений.
compression
Настройки сжатия данных для таблиц с движком MergeTree.
Рекомендуется не изменять это, если вы только начали использовать ClickHouse.
Шаблон конфигурации:
Поля <case>
:
min_part_size
– Минимальный размер части данных.min_part_size_ratio
– Соотношение размера части данных к размеру таблицы.method
– Метод сжатия. Приемлемые значения:lz4
,lz4hc
,zstd
,deflate_qpl
.level
– Уровень сжатия. Смотрите Кодеки.
Вы можете настроить несколько секций <case>
.
Действия, когда условия выполнены:
- Если часть данных соответствует заданному условию, ClickHouse использует указанный метод сжатия.
- Если часть данных соответствует нескольким наборам условий, ClickHouse использует первый совпадающий набор условий.
Если ни одно из условий не выполняется для части данных, ClickHouse использует сжатие lz4
.
Пример
concurrent_threads_scheduler
Тип | По умолчанию |
---|---|
String | round_robin |
Политика, которая определяет, как выполнить планирование CPU-слотов, определенных concurrent_threads_soft_limit_num
и concurrent_threads_soft_limit_ratio_to_cores
. Алгоритм, используемый для регулирования того, как ограниченное количество слотов CPU распределяется между параллельными запросами. Планировщик может быть изменен во время выполнения без перезапуска сервера.
Возможные значения:
round_robin
— Каждый запрос с установкойuse_concurrency_control
= 1 выделяет доmax_threads
слотов CPU. Один слот на поток. При конфликте слоты CPU выделяются запросам по принципу круговой очереди. Обратите внимание, что первый слот выделяется без условий, что может привести к несправедливости и увеличению задержки запросов с высокимmax_threads
при наличии большого количества запросов сmax_threads
= 1.fair_round_robin
— Каждый запрос с установкойuse_concurrency_control
= 1 выделяет доmax_threads - 1
слотов CPU. Вариацияround_robin
, которая не требует слот для первого потока каждого запроса. Таким образом, запросы сmax_threads
= 1 не требуют никаких слотов и не могут несправедливо выделять все слоты. Нет слотов, выделенных без условий.
config_reload_interval_ms
Тип | По умолчанию |
---|---|
UInt64 | 2000 |
Как часто ClickHouse будет перезагружать конфигурацию и проверять на наличие изменений.
core_dump
Настраивает мягкий лимит для размера файла дампа памяти.
Жесткий лимит настраивается через системные инструменты
Пример
crash_log
Настройки для системной таблицы crash_log.
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Name of the database. | ||
table | Name of the system table. | ||
engine | MergeTree Engine Definition for a system table. | Cannot be used if partition_by or order_by defined. If not specified MergeTree is selected by default | |
partition_by | Custom partitioning key for a system table. | If engine is specified for system table, partition_by parameter should be specified directly inside 'engine' | |
ttl | Specifies the table TTL. | If engine is specified for system table, ttl parameter should be specified directly inside 'engine' | |
order_by | Custom sorting key for a system table. Can't be used if engine defined. | If engine is specified for system table, order_by parameter should be specified directly inside 'engine' | |
storage_policy | Name of the storage policy to use for the table (optional). | If engine is specified for system table, storage_policy parameter should be specified directly inside 'engine' | |
settings | Additional parameters that control the behavior of the MergeTree (optional). | If engine is specified for system table, settings parameter should be specified directly inside 'engine' | |
flush_interval_milliseconds | Interval for flushing data from the buffer in memory to the table. | 7500 | |
max_size_rows | Maximal size in lines for the logs. When the amount of non-flushed logs reaches the max_size, logs are dumped to the disk. | 1048576 | |
reserved_size_rows | Pre-allocated memory size in lines for the logs. | 8192 | |
buffer_size_rows_flush_threshold | Threshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background. | max_size_rows / 2 | |
flush_on_crash | Sets whether logs should be dumped to the disk in case of a crash. | false |
Файл конфигурации сервера по умолчанию config.xml
содержит следующий раздел настроек:
custom_cached_disks_base_directory
Эта настройка определяет путь к кэшу для пользовательских (созданных из SQL) кэшированных дисков.
custom_cached_disks_base_directory
имеет более высокий приоритет для пользовательских дисков по сравнению с filesystem_caches_path
(найденным в filesystem_caches_path.xml
),
который используется, если первый отсутствует.
Путь настройки файловой системы должен находиться внутри этого каталога,
в противном случае будет выброшено исключение, предотвращающее создание диска.
Это не повлияет на диски, созданные на более старой версии, для которой сервер был обновлен. В этом случае исключение не будет выброшено, чтобы позволить серверу успешно запуститься.
Пример:
custom_settings_prefixes
Список префиксов для пользовательских настроек. Префиксы должны быть разделены запятыми.
Пример
Смотрите также
database_atomic_delay_before_drop_table_sec
Тип | По умолчанию |
---|---|
UInt64 | 480 |
Задержка, в течение которой удалённая таблица может быть восстановлена с помощью команды UNDROP
. Если DROP TABLE
была выполнена с модификатором SYNC
, настройка игнорируется.
По умолчанию эта настройка равна 480
(8 минут).
database_catalog_drop_error_cooldown_sec
Тип | По умолчанию |
---|---|
UInt64 | 5 |
В случае неудачи операции удаления таблицы, ClickHouse будет ждать это время перед повторной попыткой операции.
database_catalog_drop_table_concurrency
Тип | По умолчанию |
---|---|
UInt64 | 16 |
Размер пула потоков, используемого для удаления таблиц.
database_catalog_unused_dir_cleanup_period_sec
Тип | По умолчанию |
---|---|
UInt64 | 86400 |
Параметр задачи, очищающей мусор из каталога store/
.
Устанавливает периодичность выполнения задачи.
Значение 0
означает "никогда". Значение по умолчанию соответствует 1 дню.
database_catalog_unused_dir_hide_timeout_sec
Тип | По умолчанию |
---|---|
UInt64 | 3600 |
Параметр задачи, очищающей мусор из каталога store/
.
Если некоторый подкаталог не используется clickhouse-server и этот каталог не был изменен в течение последних
database_catalog_unused_dir_hide_timeout_sec
секунд, задача "скроет" этот каталог, убрав все права доступа. Это также работает для каталогов, которые clickhouse-server не ожидает увидеть внутри store/
.
Значение 0
означает "немедленно".
database_catalog_unused_dir_rm_timeout_sec
Тип | По умолчанию |
---|---|
UInt64 | 2592000 |
Параметр задачи, очищающей мусор из каталога store/
.
Если некоторый подкаталог не используется clickhouse-server и он ранее был "скрыт"
(см. database_catalog_unused_dir_hide_timeout_sec)
и этот каталог не был изменен в течение последних
[database_catalog_unused_dir_rm_timeout_sec
]/operations/server-configuration-parameters/settings#database_catalog_unused_dir_rm_timeout_sec) секунд, задача удалит этот каталог.
Это также работает для каталогов, которые clickhouse-server не ожидает увидеть внутри store/
.
Значение 0
означает "никогда". Значение по умолчанию соответствует 30 дням.
database_replicated_allow_detach_permanently
Тип | По умолчанию |
---|---|
Bool | 1 |
Разрешить постоянное отсоединение таблиц в реплицированных базах данных.
default_database
Тип | По умолчанию |
---|---|
String | default |
Имя базы данных по умолчанию.
default_password_type
Устанавливает тип пароля, который будет автоматически установлен для запросов типа CREATE USER u IDENTIFIED BY 'p'
.
Допустимые значения:
plaintext_password
sha256_password
double_sha1_password
bcrypt_password
default_profile
Профиль настроек по умолчанию. Профили настроек находятся в файле, указанном в настройке user_config
.
Пример
default_replica_name
Тип | По умолчанию |
---|---|
String | {replica} |
Имя реплики в ZooKeeper.
Пример
default_replica_path
Тип | По умолчанию |
---|---|
String | /clickhouse/tables/{uuid}/{shard} |
Путь к таблице в ZooKeeper.
Пример
default_session_timeout
Таймаут сессии по умолчанию, в секундах.
dictionaries_config
Путь к файлу конфигурации для словарей.
Путь:
- Укажите абсолютный путь или путь относительно файла конфигурации сервера.
- Путь может содержать подстановочные символы * и ?.
Смотрите также:
- "Словари".
Пример
dictionaries_lazy_load
Тип | По умолчанию |
---|---|
Bool | 1 |
Ленивая загрузка словарей.
- Если
true
, тогда каждый словарь загружается при первом использовании. Если загрузка не удалась, функция, использующая словарь, выбрасывает исключение. - Если
false
, сервер загружает все словари при старте.
Сервер будет ждать при запуске, пока все словари не завершат свою загрузку, прежде чем принимать любые соединения
(исключение: если wait_dictionaries_load_at_startup
установлено в false
).
Пример
dictionary_background_reconnect_interval
Тип | По умолчанию |
---|---|
UInt64 | 1000 |
Интервал в миллисекундах для попыток повторного подключения к неудачным словарям MySQL и Postgres с включенной настройкой background_reconnect
.
disable_insertion_and_mutation
Тип | По умолчанию |
---|---|
Bool | 0 |
Отключить все запросы вставки/изменения/удаления. Эта настройка будет включена, если кому-то нужны узлы только для чтения, чтобы предотвратить влияние вставки и мутаций на производительность чтения.
disable_internal_dns_cache
Тип | По умолчанию |
---|---|
Bool | 0 |
Отключает внутренний кэш DNS. Рекомендуется для работы ClickHouse в системах с часто изменяющейся инфраструктурой, такой как Kubernetes.
disable_tunneling_for_https_requests_over_http_proxy
По умолчанию, туннелирование (т.е. HTTP CONNECT
) используется для выполнения HTTPS
запросов через HTTP
прокси. Эта настройка может быть использована для отключения этого.
no_proxy
По умолчанию все запросы проходят через прокси. Чтобы отключить его для определённых хостов, нужно установить переменную no_proxy
.
Её можно установить внутри <proxy>
для списков и удалённых резольверов, а также в виде переменной окружения для резольвера среды.
Поддерживаются IP-адреса, домены, поддомены и символ '*'
для полного обхода. Ведущие точки отбрасываются так же, как это делает curl.
Пример
Следующая конфигурация обходит прокси для запросов к clickhouse.cloud
и всем его поддоменам (например, auth.clickhouse.cloud
).
То же самое относится к GitLab, даже если у него есть ведущая точка. И gitlab.com
, и about.gitlab.com
будут обходить прокси.
disk_connections_soft_limit
Тип | По умолчанию |
---|---|
UInt64 | 5000 |
Соединения выше этого лимита имеют значительно более короткое время жизни. Лимит применяется к соединениям дисков.
disk_connections_store_limit
Тип | По умолчанию |
---|---|
UInt64 | 30000 |
Соединения выше этого лимита сбрасываются после использования. Установите на 0, чтобы отключить кэш соединений. Лимит применяется к соединениям дисков.
disk_connections_warn_limit
Тип | По умолчанию |
---|---|
UInt64 | 10000 |
Предупреждающие сообщения записываются в журналы, если количество активных соединений превышает этот лимит. Лимит применяется к соединениям дисков.
display_secrets_in_show_and_select
Тип | По умолчанию |
---|---|
Bool | 0 |
Включает или отключает отображение секретов в запросах SHOW
и SELECT
для таблиц, баз данных, табличных функций и словарей.
Чтобы увидеть секреты, пользователь также должен иметь
format_display_secrets_in_show_and_select
формат настройки
включённым и
привилегию displaySecretsInShowAndSelect
.
Возможные значения:
0
— Отключено.1
— Включено.
distributed_ddl
Управляет выполнением распределенных ddl запросов (CREATE
, DROP
, ALTER
, RENAME
) на кластере.
Работает только если включён ZooKeeper.
Настраиваемые параметры внутри <distributed_ddl>
включают:
Настройка | Описание | Значение по умолчанию |
---|---|---|
path | путь в Keeper для task_queue для DDL запросов | |
profile | профиль, используемый для выполнения DDL запросов | |
pool_size | сколько ON CLUSTER запросов можно выполнять одновременно | |
max_tasks_in_queue | максимальное количество задач, которые могут находиться в очереди. | 1,000 |
task_max_lifetime | удалить узел, если его возраст больше этого значения. | 7 * 24 * 60 * 60 (неделя в секундах) |
cleanup_delay_period | очистка начинается после получения нового события узла, если последняя очистка не была выполнена раньше, чем cleanup_delay_period секунд назад. | 60 секунд |
Пример
dns_allow_resolve_names_to_ipv4
Тип | По умолчанию |
---|---|
Bool | 1 |
Разрешает разрешение имён в ipv4 адреса.
dns_allow_resolve_names_to_ipv6
Тип | По умолчанию |
---|---|
Bool | 1 |
Разрешает разрешение имён в ipv6 адреса.
dns_cache_max_entries
Тип | По умолчанию |
---|---|
UInt64 | 10000 |
Максимальное количество записей во внутреннем кэше DNS.
dns_cache_update_period
Тип | По умолчанию |
---|---|
Int32 | 15 |
Период обновления внутреннего кэша DNS в секундах.
dns_max_consecutive_failures
Тип | По умолчанию |
---|---|
UInt32 | 10 |
Максимальное количество ошибок разрешения DNS для имени хоста до удаления этого имени из кэша DNS ClickHouse.
enable_azure_sdk_logging
Тип | По умолчанию |
---|---|
Bool | 0 |
Включает логирование из Azure SDK.
encryption
Настраивает команду для получения ключа, который будет использоваться кодеками шифрования. Ключ (или ключи) должны быть записаны в переменные окружения или установлены в конфигурационном файле.
Ключи могут быть в шестнадцатеричном формате или строкой длиной 16 байт.
Пример
Загрузка из конфигурации:
Не рекомендуется хранить ключи в конфигурационном файле. Это не безопасно. Вы можете переместить ключи в отдельный конфигурационный файл на безопасном диске и сделать символическую ссылку на этот файл конфигурации в папке config.d/
.
Загрузка из конфигурации, когда ключ имеет шестнадцатеричный формат:
Загрузка ключа из переменной окружения:
Здесь current_key_id
устанавливает текущий ключ для шифрования, и все указанные ключи могут использоваться для расшифровки.
Каждый из этих методов может быть применен для нескольких ключей:
Здесь current_key_id
показывает текущий ключ для шифрования.
Также пользователи могут добавить nonce, который должен быть длиной 12 байт (по умолчанию процессы шифрования и расшифровки используют nonce, состоящий из нулевых байт):
Или это может быть установлено в шестнадцатеричном формате:
Все, упомянутое выше, можно применить для aes_256_gcm_siv
(но ключ должен быть длиной 32 байта).
error_log
По умолчанию отключен.
Включение
Чтобы вручную включить сбор истории ошибок system.error_log
, создайте файл /etc/clickhouse-server/config.d/error_log.xml
со следующим содержимым:
Отключение
Чтобы отключить настройку error_log
, создайте следующий файл /etc/clickhouse-server/config.d/disable_error_log.xml
со следующим содержимым:
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Name of the database. | ||
table | Name of the system table. | ||
engine | MergeTree Engine Definition for a system table. | Cannot be used if partition_by or order_by defined. If not specified MergeTree is selected by default | |
partition_by | Custom partitioning key for a system table. | If engine is specified for system table, partition_by parameter should be specified directly inside 'engine' | |
ttl | Specifies the table TTL. | If engine is specified for system table, ttl parameter should be specified directly inside 'engine' | |
order_by | Custom sorting key for a system table. Can't be used if engine defined. | If engine is specified for system table, order_by parameter should be specified directly inside 'engine' | |
storage_policy | Name of the storage policy to use for the table (optional). | If engine is specified for system table, storage_policy parameter should be specified directly inside 'engine' | |
settings | Additional parameters that control the behavior of the MergeTree (optional). | If engine is specified for system table, settings parameter should be specified directly inside 'engine' | |
flush_interval_milliseconds | Interval for flushing data from the buffer in memory to the table. | 7500 | |
max_size_rows | Maximal size in lines for the logs. When the amount of non-flushed logs reaches the max_size, logs are dumped to the disk. | 1048576 | |
reserved_size_rows | Pre-allocated memory size in lines for the logs. | 8192 | |
buffer_size_rows_flush_threshold | Threshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background. | max_size_rows / 2 | |
flush_on_crash | Sets whether logs should be dumped to the disk in case of a crash. | false |
format_alter_operations_with_parentheses
Тип | По умолчанию |
---|---|
Bool | 1 |
Если установлено в true
, операции изменения будут окружены скобками в форматируемых запросах. Это уменьшает неоднозначность разбора отформатированных запросов на изменение.
format_schema_path
Путь к каталогу со схемами для входных данных, такими как схемы для формата CapnProto.
Пример
global_profiler_cpu_time_period_ns
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Период для таймера процессорных часов глобального профилировщика (в наносекундах). Установите значение 0, чтобы отключить глобальный профилировщик процессорных часов. Рекомендуемое значение — как минимум 10000000 (100 раз в секунду) для одиночных запросов или 1000000000 (раз в секунду) для кластерного профилирования.
global_profiler_real_time_period_ns
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Период для таймера реального времени глобального профилировщика (в наносекундах). Установите значение 0, чтобы отключить глобальный профилировщик реального времени. Рекомендуемое значение — как минимум 10000000 (100 раз в секунду) для одиночных запросов или 1000000000 (раз в секунду) для кластерного профилирования.
google_protos_path
Определяет каталог, содержащий proto-файлы для типов Protobuf.
Пример:
graphite
Отправка данных в Graphite.
Настройки:
host
– сервер Graphite.port
– порт на сервере Graphite.interval
– интервал отправки, в секундах.timeout
– таймаут для отправки данных, в секундах.root_path
– префикс для ключей.metrics
– отправка данных из таблицы system.metrics.events
– отправка дельта-данных, накопленных за период времени, из таблицы system.events.events_cumulative
– отправка кумулятивных данных из таблицы system.events.asynchronous_metrics
– отправка данных из таблицы system.asynchronous_metrics.
Вы можете настроить несколько <graphite>
конструкций. Например, можно использовать это для отправки различных данных с различными интервалами.
Пример
graphite_rollup
Настройки для упрощения данных для Graphite.
Подробности см. в GraphiteMergeTree.
Пример
hsts_max_age
Срок действия HSTS в секундах.
Значение 0
означает, что ClickHouse отключает HSTS. Если вы установите положительное число, HSTS будет включен, а max-age будет равен указанному вами значению.
Пример
http_connections_soft_limit
Тип | По умолчанию |
---|---|
UInt64 | 100 |
Соединения, превышающие этот лимит, имеют значительно более короткое время жизни. Лимит применяется к HTTP соединениям, которые не принадлежат никакому диску или хранилищу.
http_connections_store_limit
Тип | По умолчанию |
---|---|
UInt64 | 5000 |
Соединения, превышающие этот лимит, сбрасываются после использования. Установите на 0, чтобы отключить кэш соединений. Лимит применяется к HTTP соединениям, которые не принадлежат никакому диску или хранилищу.
http_connections_warn_limit
Тип | По умолчанию |
---|---|
UInt64 | 1000 |
Предупреждающие сообщения записываются в журналы, если количество активных соединений превышает этот лимит. Лимит применяется к HTTP соединениям, которые не принадлежат никакому диску или хранилищу.
http_handlers
Позволяет использовать настраиваемые HTTP обработчики.
Чтобы добавить новый HTTP обработчик, просто добавьте новое <rule>
.
Правила проверяются сверху вниз в определенном порядке,
и первое совпадение запустит обработчик.
Следующие параметры могут быть настроены с помощью подпараметров:
Подпараметры | Определение |
---|---|
url | Для сопоставления URL запроса вы можете использовать префикс 'regex:' для применения регулярного соответствия (по желанию) |
methods | Для сопоставления методов запроса вы можете использовать запятые для разделения нескольких совпадений методов (по желанию) |
headers | Для сопоставления заголовков запроса сопоставьте каждый дочерний элемент (имя дочернего элемента — это имя заголовка), вы можете использовать префикс 'regex:' для применения регулярного соответствия (по желанию) |
handler | Обработчик запроса |
empty_query_string | Проверка на отсутствие строки запроса в URL |
handler
содержит следующие параметры, которые могут быть настроены с помощью подпараметров:
Подпараметры | Определение |
---|---|
url | Путь для перенаправления |
type | Поддерживаемые типы: static, dynamic_query_handler, predefined_query_handler, redirect |
status | Используется при статическом типе, код состояния ответа |
query_param_name | Используется с типом dynamic_query_handler, извлекает и выполняет значение, соответствующее <query_param_name> в параметрах HTTP-запроса |
query | Используется с типом predefined_query_handler, выполняет запрос, когда вызывается обработчик |
content_type | Используется с типом static, тип контента ответа |
response_content | Используется с типом static, контент ответа, отправляемый клиенту, когда используется префикс 'file://' или 'config://', находите содержимое из файла или конфигурации, отправляемой клиенту |
Помимо списка правил, вы можете указать <defaults/>
, которое определяет включение всех стандартных обработчиков.
Пример:
http_options_response
Используется для добавления заголовков к ответу на HTTP запрос OPTIONS
.
Метод OPTIONS
используется при выполнении предварительных запросов CORS.
Для получения дополнительной информации смотрите OPTIONS.
Пример:
http_server_default_response
Страница, которая отображается по умолчанию, когда вы обращаетесь к HTTP(s) серверу ClickHouse. Значение по умолчанию "Ok." (с переводом строки в конце)
Пример
Открывает https://tabix.io/
при обращении к http://localhost: http_port
.
iceberg_catalog_threadpool_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 50 |
Размер фона пула для каталога iceberg.
iceberg_catalog_threadpool_queue_size
Тип | По умолчанию |
---|---|
UInt64 | 1000000 |
Количество задач, которые возможно добавить в пул каталога iceberg.
ignore_empty_sql_security_in_create_view_query
Тип | По умолчанию |
---|---|
Bool | 1 |
Если true, ClickHouse не записывает значения по умолчанию для пустых операторов SQL безопасности в запросах CREATE VIEW
.
Эта настройка необходима только на период миграции и станет устаревшей в 24.4
include_from
Путь к файлу с подстановками. Поддерживаются форматы XML и YAML.
Для дополнительной информации смотрите раздел "Файлы конфигурации".
Пример
index_mark_cache_policy
Тип | По умолчанию |
---|---|
String | SLRU |
Имя политики кэша индексных меток второго индекса.
index_mark_cache_size
Тип | По умолчанию |
---|---|
UInt64 | 5368709120 |
Максимальный размер кэша для индексных меток.
Значение 0
означает отключено.
Эту настройку можно изменить во время работы, и она вступит в силу немедленно.
index_mark_cache_size_ratio
Тип | По умолчанию |
---|---|
Double | 0.3 |
Размер защищенной очереди (в случае политики SLRU) в кэше меток вторичного индекса относительно общего размера кэша.
index_uncompressed_cache_policy
Тип | По умолчанию |
---|---|
String | SLRU |
Имя политики кэша для не сжатого вторичного индекса.
index_uncompressed_cache_size
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Максимальный размер кэша для некомпрессированных блоков индексов MergeTree
.
Значение 0
означает, что функция отключена.
Эта настройка может быть изменена во время исполнения и вступит в силу немедленно.
index_uncompressed_cache_size_ratio
Тип | По умолчанию |
---|---|
Double | 0.5 |
Размер защищенной очереди (в случае политики SLRU) в некомпрессированном кэше вторичного индекса относительно общего размера кэша.
interserver_http_credentials
Имя пользователя и пароль, используемые для подключения к другим серверам во время репликации. Кроме того, сервер аутентифицирует другие реплики с помощью этих учетных данных.
Следовательно, interserver_http_credentials
должны быть одинаковыми для всех реплик в кластере.
- По умолчанию, если раздел
interserver_http_credentials
опущен, аутентификация не используется во время репликации. - Настройки
interserver_http_credentials
не относятся к учетным данным клиента ClickHouse конфигурации. - Эти учетные данные общие для репликации через
HTTP
иHTTPS
.
Следующие настройки могут быть настроены с помощью под-тегов:
user
— Имя пользователя.password
— Пароль.allow_empty
— Еслиtrue
, другие реплики могут подключаться без аутентификации, даже если учетные данные установлены. Еслиfalse
, то подключения без аутентификации отклоняются. По умолчанию:false
.old
— Содержит старыеuser
иpassword
, использованные во время ротации учетных данных. Можно указать несколько секцийold
.
Ротация учетных данных
ClickHouse поддерживает динамическую ротацию межсерверных учетных данных без остановки всех реплик одновременно для обновления их конфигурации. Учетные данные могут быть изменены поэтапно.
Чтобы включить аутентификацию, установите interserver_http_credentials.allow_empty
в true
и добавьте учетные данные. Это позволяет подключения как с аутентификацией, так и без нее.
После настройки всех реплик установите allow_empty
в false
или удалите эту настройку. Это сделает аутентификацию с новыми учетными данными обязательной.
Чтобы изменить существующие учетные данные, переместите имя пользователя и пароль в раздел interserver_http_credentials.old
и обновите user
и password
новыми значениями. На этом этапе сервер будет использовать новые учетные данные для подключения к другим репликам и принимать подключения как с новыми, так и со старыми учетными данными.
Когда новые учетные данные применяются ко всем репликам, старые учетные данные могут быть удалены.
interserver_http_host
Имя хоста, которое может использоваться другими серверами для доступа к этому серверу.
Если опущено, оно определяется так же, как и команда hostname -f
.
Полезно для отказа от конкретного сетевого интерфейса.
Пример
interserver_http_port
Порт для обмена данными между серверами ClickHouse.
Пример
interserver_https_host
Аналогично interserver_http_host
, за исключением того, что это имя хоста может использоваться другими серверами для доступа к этому серверу через HTTPS
.
Пример
interserver_https_port
Порт для обмена данными между серверами ClickHouse через HTTPS
.
Пример
interserver_listen_host
Ограничение на хосты, которые могут обмениваться данными между серверами ClickHouse. Если используется Keeper, то то же ограничение будет применяться к связи между различными экземплярами Keeper.
По умолчанию, значение равно настройке listen_host
.
Пример
Тип:
По умолчанию:
io_thread_pool_queue_size
Тип | По умолчанию |
---|---|
UInt64 | 10000 |
Максимальное количество задач, которое может быть запланировано в пуле потоков IO.
Значение 0
означает неограниченное число.
keep_alive_timeout
Тип | По умолчанию |
---|---|
Seconds | 30 |
Количество секунд, которое ClickHouse ожидает входящих запросов для протокола HTTP перед закрытием соединения.
Пример
keeper_multiread_batch_size
Тип | По умолчанию |
---|---|
UInt64 | 10000 |
Максимальный размер батча для запроса MultiRead к [Zoo]Keeper, который поддерживает пакетную обработку. Если установлено значение 0, пакетная обработка отключена. Доступно только в ClickHouse Cloud.
latency_log
По умолчанию отключен.
Включение
Чтобы вручную включить сбор истории задержек system.latency_log
, создайте файл /etc/clickhouse-server/config.d/latency_log.xml
со следующим содержимым:
Отключение
Чтобы отключить настройку latency_log
, создайте файл /etc/clickhouse-server/config.d/disable_latency_log.xml
со следующим содержимым:
ldap_servers
Список LDAP серверов с их параметрами подключения здесь для:
- использования их в качестве аутентификаторов для выделенных локальных пользователей, у которых указан механизм аутентификации 'ldap' вместо 'password'
- использования их в качестве удаленных каталогов пользователей.
Следующие настройки могут быть настроены с помощью под-тегов:
Настройка | Описание |
---|---|
host | Имя хоста или IP LDAP-сервера, этот параметр обязателен и не может быть пустым. |
port | Порт LDAP-сервера, по умолчанию 636, если enable_tls установлен в true, 389 в противном случае. |
bind_dn | Шаблон, используемый для построения DN для подключения. Результирующий DN будет построен путем замены всех подстрок \{user_name\} шаблона фактическим именем пользователя при каждой попытке аутентификации. |
user_dn_detection | Раздел с параметрами поиска LDAP для обнаружения фактического DN пользователя, к которому осуществляется подключение. Это в основном используется в фильтрах поиска для дальнейшего сопоставления ролей, когда сервер является Active Directory. Результирующий DN пользователя будет использоваться при замене подстрок \{user_dn\} везде, где это допускается. По умолчанию DN пользователя устанавливается равным DN подключения, но после выполнения поиска он будет обновлен до фактического обнаруженного значения DN пользователя. |
verification_cooldown | Период времени, в секундах, после успешной попытки подключения, в течение которого пользователь будет считаться успешно аутентифицированным для всех последующих запросов без обращения к серверу LDAP. Укажите 0 (по умолчанию), чтобы отключить кэширование и принудить обращения к серверу LDAP для каждого запроса аутентификации. |
enable_tls | Флаг для включения использования защищенного соединения с сервером LDAP. Укажите no для протокола в открытом тексте (ldap:// ) (не рекомендуется). Укажите yes для LDAP через SSL/TLS (ldaps:// ) (рекомендуется, по умолчанию). Укажите starttls для устаревшего протокола StartTLS (простой текст (ldap:// ), обновленный до TLS). |
tls_minimum_protocol_version | Минимальная версия протокола SSL/TLS. Принятые значения: ssl2 , ssl3 , tls1.0 , tls1.1 , tls1.2 (по умолчанию). |
tls_require_cert | Поведение проверки сертификата пира SSL/TLS. Принятые значения: never , allow , try , demand (по умолчанию). |
tls_cert_file | путь к файлу сертификата. |
tls_key_file | путь к файлу ключа сертификата. |
tls_ca_cert_file | путь к файлу сертификата CA. |
tls_ca_cert_dir | путь к директории, содержащей сертификаты CA. |
tls_cipher_suite | допустимый набор шифров (в нотации OpenSSL). |
Настройка user_dn_detection
может быть настроена с помощью под-тегов:
Настройка | Описание |
---|---|
base_dn | шаблон, используемый для построения базового DN для LDAP-поиска. Результирующий DN будет построен путем замены всех подстрок \{user_name\} и '{bind_dn}' шаблона фактическим именем пользователя и DN подключения во время LDAP-поиска. |
scope | область LDAP-поиска. Принятые значения: base , one_level , children , subtree (по умолчанию). |
search_filter | шаблон, используемый для построения фильтра поиска для LDAP-поиска. Результующий фильтр будет построен путем замены всех подстрок \{user_name\} , \{bind_dn\} и \{base_dn\} шаблона фактическим именем пользователя, DN подключения и базовым DN во время LDAP-поиска. Обратите внимание, что специальные символы должны быть корректно экранированы в XML. |
Пример:
Пример (типичный Active Directory с настроенной детекцией DN пользователя для дальнейшего сопоставления ролей):
license_key
Лицензионный ключ для ClickHouse Enterprise Edition
listen_backlog
Размер очереди ожидания (размер очереди ожидающих подключений) для сокета прослушивания. Значение по умолчанию 4096
является тем же, что и у Linux 5.4+).
Обычно это значение не нужно изменять, поскольку:
- Значение по умолчанию достаточно велико,
- Для принятия подключений клиентов сервер имеет отдельный поток.
Таким образом, даже если у вас есть TcpExtListenOverflows
(из nstat
) ненулевое, и этот счетчик растет для сервера ClickHouse, это не означает, что это значение нужно увеличить, поскольку:
- Обычно, если
4096
недостаточно, это показывает какую-то внутреннюю проблему масштабирования ClickHouse, поэтому лучше сообщить о проблеме. - Это не значит, что сервер может позднее обработать больше подключений (и даже если бы мог, на тот момент клиенты могут быть отключены или потеряны).
Пример
listen_host
Ограничение на хосты, с которых могут приходить запросы. Если вы хотите, чтобы сервер отвечал на все из них, укажите ::
.
Примеры:
listen_reuse_port
Разрешить нескольким серверам прослушивать один и тот же адрес:порт. Запросы будут направлены на случайный сервер операционной системой. Включение этой настройки не рекомендуется.
Пример
Тип:
По умолчанию:
listen_try
Сервер не выйдет из строя, если сети IPv6 или IPv4 недоступны во время попытки прослушивания.
Пример
load_marks_threadpool_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 50 |
Размер фоновоего пула для загрузки меток.
load_marks_threadpool_queue_size
Тип | По умолчанию |
---|---|
UInt64 | 1000000 |
Количество задач, которое можно добавить в пул предварительной выборки.
logger
Расположение и формат сообщений логирования.
Ключи:
Ключ | Описание |
---|---|
level | Уровень логирования. Допустимые значения: none (выключить логирование), fatal , critical , error , warning , notice , information ,debug , trace , test |
log | Путь к файлу лога. |
errorlog | Путь к файлу лога ошибок. |
size | Политика ротации: Максимальный размер лог-файлов в байтах. После превышения этого порога, лог-файл будет переименован и архивирован, а новый лог-файл будет создан. |
count | Политика ротации: Максимальное количество исторических лог-файлов, которые сохраняет ClickHouse. |
stream_compress | Сжимать сообщения логирования с использованием LZ4. Установите на 1 или true для включения. |
console | Не записывать сообщения логирования в файлы логов, вместо этого выводить их в консоль. Установите на 1 или true для включения. По умолчанию 1 , если ClickHouse не работает в режиме демона, 0 в противном случае. |
console_log_level | Уровень логирования для вывода в консоль. По умолчанию level . |
formatting | Формат логирования для вывода в консоль. В настоящее время поддерживается только json . |
use_syslog | Также перенаправлять вывод логов в syslog. |
syslog_level | Уровень логирования для логирования в syslog. |
Спецификаторы формата логирования
Имена файлов в путях log
и errorLog
поддерживают следующие спецификаторы формата для результирующего имени файла (часть директории не поддерживает их).
Колонка "Пример" показывает вывод на 2023-07-06 18:32:07
.
Спецификатор | Описание | Пример |
---|---|---|
%% | Литерал % | % |
%n | Символ новой строки | |
%t | Символ горизонтальной табуляции | |
%Y | Год в десятичном формате, например, 2017 | 2023 |
%y | Последние 2 цифры года в десятичном формате (диапазон [00,99]) | 23 |
%C | Первые 2 цифры года в десятичном формате (диапазон [00,99]) | 20 |
%G | Четырехзначный ISO 8601 год на основе недель, т.е. год, содержащий указанную неделю. Обычно полезен только с %V | 2023 |
%g | Последние 2 цифры ISO 8601 года на основе недель | 23 |
%b | Сокращенное название месяца, например, Окт (в зависимости от локали) | Jul |
%h | Синоним %b | Jul |
%B | Полное название месяца, например, Октябрь (в зависимости от локали) | July |
%m | Месяц в десятичном формате (диапазон [01,12]) | 07 |
%U | Номер недели в году в десятичном формате (воскресенье — первый день недели) (диапазон [00,53]) | 27 |
%W | Номер недели в году в десятичном формате (понедельник — первый день недели) (диапазон [00,53]) | 27 |
%V | Номер недели по ISO 8601 (диапазон [01,53]) | 27 |
%j | День года в десятичном формате (диапазон [001,366]) | 187 |
%d | День месяца в виде десятичного числа с нулями (диапазон [01,31]). Однозначное число предшествует ноль. | 06 |
%e | День месяца в виде десятичного числа с пробелом (диапазон [1,31]). Однозначное число предшествует пробелу. | 6 |
%a | Сокращенное название дня недели, например, Пт (в зависимости от локали) | Thu |
%A | Полное название дня недели, например, Пятница (в зависимости от локали) | Thursday |
%w | День недели в виде целого числа, где воскресенье — 0 (диапазон [0-6]) | 4 |
%u | День недели в виде десятичного числа, где понедельник — 1 (формат ISO 8601) (диапазон [1-7]) | 4 |
%H | Час в десятичном формате, 24-часовой формат (диапазон [00-23]) | 18 |
%I | Час в десятичном формате, 12-часовой формат (диапазон [01,12]) | 06 |
%M | Минуты в десятичном формате (диапазон [00,59]) | 32 |
%S | Секунды в десятичном формате (диапазон [00,60]) | 07 |
%c | Стандартная строка даты и времени, например, Вс Окт 17 04:41:13 2010 (в зависимости от локали) | Thu Jul 6 18:32:07 2023 |
%x | Локализованное представление даты (в зависимости от локали) | 07/06/23 |
%X | Локализованное представление времени, например, 18:40:20 или 6:40:20 PM (в зависимости от локали) | 18:32:07 |
%D | Краткая дата MM/DD/YY, эквивалентная %m/%d/%y | 07/06/23 |
%F | Краткая дата YYYY-MM-DD, эквивалентная %Y-%m-%d | 2023-07-06 |
%r | Локализованное время в 12-часовом формате (в зависимости от локали) | 06:32:07 PM |
%R | Эквивалент "%H:%M" | 18:32 |
%T | Эквивалент "%H:%M:%S" (формат времени ISO 8601) | 18:32:07 |
%p | Локализованное обозначение a.m. или p.m. (в зависимости от локали) | PM |
%z | Смещение от UTC в формате ISO 8601 (например, -0430), или никаких символов, если информация о часовых поясах недоступна | +0800 |
%Z | Название или сокращение часового пояса, зависящее от локали, или никаких символов, если информация о часовом поясе недоступна | Z AWST |
Пример
Чтобы выводить сообщения логирования только в консоль:
Переопределения для каждого уровня
Уровень логирования для отдельных логов может быть переопределен. Например, чтобы отключить все сообщения логгеров "Backup" и "RBAC".
syslog
Чтобы дополнительно записывать сообщения логирования в syslog:
Ключи для <syslog>
:
Ключ | Описание |
---|---|
address | Адрес syslog в формате host\[:port\] . Если пропущен, используется локальный демон. |
hostname | Имя хоста, с которого отправляются логи (необязательно). |
facility | Ключевое слово facility syslog. Должен быть указан верхним регистром с префиксом "LOG_", например, LOG_USER , LOG_DAEMON , LOG_LOCAL3 и т.д. По умолчанию: LOG_USER , если указан address , иначе LOG_DAEMON . |
format | Формат сообщения логирования. Возможные значения: bsd и syslog. |
Форматы логов
Вы можете указать формат лога, который будет выводиться в консоли. В настоящее время поддерживается только JSON.
Пример
Вот пример вывода JSON лога:
Чтобы включить поддержку логирования в формате JSON, используйте следующий фрагмент:
Переименование ключей для JSON логов
Имена ключей могут быть изменены путём изменения значений тегов внутри тега <names>
. Например, чтобы изменить DATE_TIME
на MY_DATE_TIME
, вы можете использовать <date_time>MY_DATE_TIME</date_time>
.
Опускание ключей для JSON логов
Свойства лога могут быть опущены, если закомментировать свойство. Например, если вы не хотите, чтобы ваш лог выводил query_id
, вы можете закомментировать тег <query_id>
.
macros
Замены параметров для реплицируемых таблиц.
Можно опустить, если реплицируемые таблицы не используются.
Дополнительную информацию смотрите в разделе Создание реплицируемых таблиц.
Пример
mark_cache_policy
Тип | По умолчанию |
---|---|
String | SLRU |
Имя политики кэширования меток.
mark_cache_prewarm_ratio
Тип | По умолчанию |
---|---|
Double | 0.95 |
Доля общего размера кэша меток для заполнения во время предварительного прогрева.
mark_cache_size
Тип | По умолчанию |
---|---|
UInt64 | 5368709120 |
Максимальный размер кэша для меток (индекс семейства MergeTree
таблиц).
Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно.
mark_cache_size_ratio
Тип | По умолчанию |
---|---|
Double | 0.5 |
Размер защищенной очереди (в случае политики SLRU) в кэше меток в сравнении с общим размером кэша.
max_active_parts_loading_thread_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 64 |
Количество потоков для загрузки активного набора частей данных (активных) при запуске.
max_authentication_methods_per_user
Тип | По умолчанию |
---|---|
UInt64 | 100 |
Максимальное количество методов аутентификации, с которыми можно создать или изменить пользователя. Изменение этой настройки не затрагивает существующих пользователей. Запросы, связанные с созданием/изменением аутентификации, будут завершены неудачей, если они превысят лимит, указанный в этой настройке. Запросы на создание/изменение, не связанные с аутентификацией, будут успешными.
Значение 0
означает неограниченное количество.
max_backup_bandwidth_for_server
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Максимальная скорость чтения в байтах в секунду для всех резервных копий на сервере. Ноль означает неограниченную скорость.
max_backups_io_thread_pool_free_size
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Если количество бездействующих потоков в пуле потоков IO резервных копий превышает max_backup_io_thread_pool_free_size
, ClickHouse освободит ресурсы, занимаемые бездействующими потоками и уменьшит размер пула. Потоки могут быть созданы снова, если это необходимо.
max_backups_io_thread_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 1000 |
ClickHouse использует потоки из пула потоков IO резервных копий для выполнения операций резервного копирования S3. max_backups_io_thread_pool_size
ограничивает максимальное количество потоков в пуле.
max_build_vector_similarity_index_thread_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 16 |
Максимальное количество потоков, используемых для построения векторных индексов.
Значение 0
означает использование всех ядер.
max_concurrent_insert_queries
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Ограничение на общее количество одновременно выполняемых запросов на вставку.
Значение 0
(по умолчанию) означает неограниченное количество.
Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно. Запросы, которые уже выполняются, останутся без изменений.
max_concurrent_queries
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Ограничение на общее количество одновременно выполняемых запросов. Следует также учитывать ограничения на запросы INSERT
и SELECT
, а также на максимальное количество запросов для пользователей.
См. также:
Значение 0
(по умолчанию) означает неограниченное количество.
Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно. Запросы, которые уже выполняются, останутся без изменений.
max_concurrent_select_queries
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Ограничение на общее количество одновременно выполняемых запросов на выборку.
Значение 0
(по умолчанию) означает неограниченное количество.
Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно. Запросы, которые уже выполняются, останутся без изменений.
max_connections
Тип | По умолчанию |
---|---|
Int32 | 4096 |
Максимальное количество соединений с сервером.
max_database_num_to_throw
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Если количество баз данных превышает это значение, сервер выдает исключение. 0 означает отсутствие ограничений.
max_database_num_to_warn
Тип | По умолчанию |
---|---|
UInt64 | 1000 |
Если количество присоединенных баз данных превышает указанное значение, сервер ClickHouse добавит предупреждающие сообщения в таблицу system.warnings
.
Пример
max_database_replicated_create_table_thread_pool_size
Тип | По умолчанию |
---|---|
UInt32 | 1 |
Количество потоков для создания таблиц во время восстановления реплики в DatabaseReplicated. Ноль означает, что количество потоков равно количеству ядер.
max_dictionary_num_to_throw
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Если количество словарей превышает это значение, сервер выдает исключение.
Учитываются только таблицы для движков баз данных:
- Атомарные
- Обычные
- Реплицируемые
- Ленивая
Значение 0
означает отсутствие ограничений.
Пример
max_dictionary_num_to_warn
Тип | По умолчанию |
---|---|
UInt64 | 1000 |
Если количество присоединенных словарей превышает указанное значение, сервер ClickHouse добавит предупреждающие сообщения в таблицу system.warnings
.
Пример
max_entries_for_hash_table_stats
Тип | По умолчанию |
---|---|
UInt64 | 10000 |
Сколько записей в статистике хеш-таблицы, собранной во время агрегации, разрешено иметь.
max_fetch_partition_thread_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 64 |
Количество потоков для ALTER TABLE FETCH PARTITION.
max_io_thread_pool_free_size
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Если количество бездействующих потоков в пуле потоков IO превышает max_io_thread_pool_free_size
, ClickHouse освободит ресурсы, занимаемые бездействующими потоками и уменьшит размер пула. Потоки могут быть созданы снова, если это необходимо.
max_io_thread_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 100 |
ClickHouse использует потоки из пула потоков IO для выполнения некоторых операций ввода-вывода (например, для взаимодействия с S3). max_io_thread_pool_size
ограничивает максимальное количество потоков в пуле.
max_keep_alive_requests
Тип | По умолчанию |
---|---|
UInt64 | 10000 |
Максимальное количество запросов через одно соединение keep-alive до его закрытия сервером ClickHouse.
Пример
max_local_read_bandwidth_for_server
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Максимальная скорость локальных чтений в байтах в секунду.
Значение 0
означает неограниченное количество.
max_local_write_bandwidth_for_server
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Максимальная скорость локальных записей в байтах в секунду.
Значение 0
означает неограниченное количество.
max_materialized_views_count_for_table
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Ограничение на количество материализованных представлений, присоединенных к таблице.
Учитываются только непосредственно зависимые представления, а создание одного представления поверх другого не считается.
max_merges_bandwidth_for_server
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Максимальная скорость чтения всех слияний на сервере в байтах в секунду. Ноль означает неограниченную скорость.
max_mutations_bandwidth_for_server
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Максимальная скорость чтения всех мутаций на сервере в байтах в секунду. Ноль означает неограниченную скорость.
max_open_files
Максимальное количество открытых файлов.
Мы рекомендуем использовать эту опцию в macOS, так как функция getrlimit()
возвращает неправильное значение.
Пример
max_outdated_parts_loading_thread_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 32 |
Количество потоков для загрузки неактивного набора частей данных (устаревших) при запуске.
max_part_num_to_warn
Тип | По умолчанию |
---|---|
UInt64 | 100000 |
Если количество активных частей превышает указанное значение, сервер ClickHouse добавит предупреждающие сообщения в таблицу system.warnings
.
Пример
max_partition_size_to_drop
Тип | По умолчанию |
---|---|
UInt64 | 50000000000 |
Ограничение на удаление партиций.
Если размер таблицы MergeTree превышает max_partition_size_to_drop
(в байтах), вы не можете удалить партицию с помощью запроса DROP PARTITION.
Эта настройка не требует перезапуска сервера ClickHouse для применения. Другой способ отключить ограничение — создать файл <clickhouse-path>/flags/force_drop_table
.
Значение 0
означает, что вы можете удалять партиции без каких-либо ограничений.
Это ограничение не распространяется на удаление таблицы и обрезку таблицы, см. max_table_size_to_drop
Пример
max_parts_cleaning_thread_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 128 |
Количество потоков для параллельного удаления неактивных частей данных.
max_pending_mutations_to_warn
Тип | По умолчанию |
---|---|
UInt64 | 500 |
Если количество ожидающих мутаций превышает указанное значение, сервер ClickHouse добавит предупреждающие сообщения в таблицу system.warnings
.
Пример
max_prefixes_deserialization_thread_pool_free_size
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Если количество бездействующих потоков в пуле потоков десериализации префиксов превышает max_prefixes_deserialization_thread_pool_free_size
, ClickHouse освободит ресурсы, занимаемые бездействующими потоками и уменьшит размер пула. Потоки могут быть созданы снова, если это необходимо.
max_prefixes_deserialization_thread_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 100 |
ClickHouse использует потоки из пула потоков десериализации префиксов для параллельного чтения метаданных столбцов и подстолбцов из файловых префиксов в широких частях MergeTree. max_prefixes_deserialization_thread_pool_size
ограничивает максимальное количество потоков в пуле.
max_remote_read_network_bandwidth_for_server
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Максимальная скорость обмена данными по сети в байтах в секунду для чтения.
Значение 0
(по умолчанию) означает неограниченную скорость.
max_remote_write_network_bandwidth_for_server
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Максимальная скорость обмена данными по сети в байтах в секунду для записи.
Значение 0
(по умолчанию) означает неограниченную скорость.
max_replicated_fetches_network_bandwidth_for_server
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Максимальная скорость обмена данными по сети в байтах в секунду для реплицируемых выборок. Ноль означает неограниченную скорость.
max_replicated_sends_network_bandwidth_for_server
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Максимальная скорость обмена данными по сети в байтах в секунду для реплицируемых отправок. Ноль означает неограниченную скорость.
max_replicated_table_num_to_throw
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Если количество реплицируемых таблиц превышает это значение, сервер выдает исключение.
Учитываются только таблицы для движков баз данных:
- Атомарные
- Обычные
- Реплицируемые
- Ленивая
Значение 0
означает отсутствие ограничений.
Пример
max_server_memory_usage
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Максимальное количество памяти, которое сервер может использовать, выраженное в байтах.
Максимальное потребление памяти сервером дополнительно ограничено настройкой max_server_memory_usage_to_ram_ratio
.
Как особый случай, значение 0
(по умолчанию) означает, что сервер может использовать всю доступную память (за исключением дополнительных ограничений, накладываемых max_server_memory_usage_to_ram_ratio
).
max_server_memory_usage_to_ram_ratio
Тип | По умолчанию |
---|---|
Double | 0.9 |
Максимальное количество памяти, которое сервер может использовать, выраженное в отношении ко всей доступной памяти.
Например, значение 0.9
(по умолчанию) означает, что сервер может использовать 90% доступной памяти.
Позволяет снизить потребление памяти на системах с ограниченной памятью.
На хостах с низким объёмом ОЗУ и подкачки, вам, возможно, придётся установить max_server_memory_usage_to_ram_ratio
больше 1.
Максимальное потребление памяти сервером дополнительно ограничено настройкой max_server_memory_usage
.
max_session_timeout
Максимальный тайм-аут сессии в секундах.
Пример:
max_table_num_to_throw
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Если количество таблиц превышает это значение, сервер выдает исключение.
Следующие таблицы не учитываются:
- представление
- удаленное
- словарь
- системный
Учитываются только таблицы для движков баз данных:
- Атомарные
- Обычные
- Реплицируемые
- Ленивая
Значение 0
означает отсутствие ограничений.
Пример
max_table_num_to_warn
Тип | По умолчанию |
---|---|
UInt64 | 5000 |
Если количество присоединенных таблиц превышает указанное значение, сервер ClickHouse добавит предупреждающие сообщения в таблицу system.warnings
.
Пример
max_table_size_to_drop
Тип | По умолчанию |
---|---|
UInt64 | 50000000000 |
Ограничение на удаление таблиц.
Если размер таблицы MergeTree превышает max_table_size_to_drop
(в байтах), вы не сможете удалить её с помощью запроса DROP
или запроса TRUNCATE
.
Значение 0
означает, что вы можете удалять все таблицы без каких-либо ограничений.
Эта настройка не требует перезапуска сервера ClickHouse для применения. Другой способ отключить ограничение — это создать файл <clickhouse-path>/flags/force_drop_table
.
Пример
max_temporary_data_on_disk_size
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Максимальное количество хранилища, которое может быть использовано для внешней агрегации, соединений или сортировки. Запросы, которые превышают этот предел, будут завершены с исключением.
Значение 0
означает без ограничений.
Смотрите также:
max_thread_pool_free_size
Тип | По умолчанию |
---|---|
UInt64 | 1000 |
Если количество бездействующих потоков в глобальном пуле потоков больше max_thread_pool_free_size
, то ClickHouse освобождает ресурсы, занимаемые некоторыми потоками, и размер пула уменьшается. Потоки могут быть созданы снова при необходимости.
Пример
max_thread_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 10000 |
ClickHouse использует потоки из глобального пула потоков для обработки запросов. Если нет бездействующего потока для обработки запроса, создается новый поток в пуле. max_thread_pool_size
ограничивает максимальное количество потоков в пуле.
Пример
max_unexpected_parts_loading_thread_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 8 |
Количество потоков для загрузки неактивного набора данных (неожиданных) при запуске.
max_view_num_to_throw
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Если количество представлений превышает это значение, сервер выбросит исключение.
Учитываются только таблицы для движков баз данных:
- Atomic
- Ordinary
- Replicated
- Lazy
Значение 0
означает отсутствие ограничений.
Пример
max_view_num_to_warn
Тип | По умолчанию |
---|---|
UInt64 | 10000 |
Если количество прикрепленных представлений превышает указанное значение, сервер ClickHouse добавит предупреждающие сообщения в таблицу system.warnings
.
Пример
max_waiting_queries
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Предел на общее количество одновременно ожидающих запросов.
Выполнение ожидающего запроса блокируется, пока требуемые таблицы загружаются асинхронно (см. async_load_databases
.
Ожидающие запросы не учитываются при проверке лимитов, контролируемых следующими настройками:
max_concurrent_queries
max_concurrent_insert_queries
max_concurrent_select_queries
max_concurrent_queries_for_user
max_concurrent_queries_for_all_users
Это исправление выполняется, чтобы избежать превышения этих лимитов сразу после старта сервера.
Значение 0
(по умолчанию) означает без ограничений.
Эта настройка может быть изменена во время работы и вступит в силу немедленно. Запросы, которые уже выполняются, останутся без изменений.
memory_worker_correct_memory_tracker
Тип | По умолчанию |
---|---|
Bool | 0 |
Необходимо ли фоновому рабочему процессу памяти исправлять внутренний учетчик памяти на основе информации из внешних источников, таких как jemalloc и cgroups.
memory_worker_period_ms
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Период тикера фонового рабочего процесса памяти, который исправляет учет использования памяти и очищает неиспользуемые страницы при высоком использовании памяти. Если установлено значение 0, будет использоваться значение по умолчанию в зависимости от источника использования памяти.
memory_worker_use_cgroup
Тип | По умолчанию |
---|---|
Bool | 1 |
Использовать текущую информацию о использовании памяти cgroup для исправления учета памяти.
merge_tree
Тонкая настройка для таблиц в MergeTree.
Для получения дополнительной информации смотрите заголовочный файл MergeTreeSettings.h.
Пример
merge_workload
Тип | По умолчанию |
---|---|
String | default |
Используется для регулирования того, как ресурсы используются и делятся между объединениями и другими рабочими нагрузками. Указанное значение используется как значение параметра workload
для всех фоновых объединений. Может быть переопределено настройкой дерева объединения.
Смотрите также
merges_mutations_memory_usage_soft_limit
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Устанавливает предел на то, сколько ОЗУ разрешено использовать для выполнения операций с объединениями и мутациями. Если ClickHouse достигает установленного лимита, он не будет планировать новые фоновые операции объединения или мутации, но продолжит выполнять уже запланированные задачи.
Значение 0
означает неограниченно.
Пример
merges_mutations_memory_usage_to_ram_ratio
Тип | По умолчанию |
---|---|
Double | 0.5 |
Значение по умолчанию для merges_mutations_memory_usage_soft_limit
вычисляется как memory_amount * merges_mutations_memory_usage_to_ram_ratio
.
Смотрите также:
metric_log
Отключен по умолчанию.
Включение
Чтобы вручную включить сбор истории метрик system.metric_log
, создайте файл /etc/clickhouse-server/config.d/metric_log.xml
со следующим содержанием:
Отключение
Чтобы отключить настройку metric_log
, вы должны создать следующий файл /etc/clickhouse-server/config.d/disable_metric_log.xml
со следующим содержанием:
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Name of the database. | ||
table | Name of the system table. | ||
engine | MergeTree Engine Definition for a system table. | Cannot be used if partition_by or order_by defined. If not specified MergeTree is selected by default | |
partition_by | Custom partitioning key for a system table. | If engine is specified for system table, partition_by parameter should be specified directly inside 'engine' | |
ttl | Specifies the table TTL. | If engine is specified for system table, ttl parameter should be specified directly inside 'engine' | |
order_by | Custom sorting key for a system table. Can't be used if engine defined. | If engine is specified for system table, order_by parameter should be specified directly inside 'engine' | |
storage_policy | Name of the storage policy to use for the table (optional). | If engine is specified for system table, storage_policy parameter should be specified directly inside 'engine' | |
settings | Additional parameters that control the behavior of the MergeTree (optional). | If engine is specified for system table, settings parameter should be specified directly inside 'engine' | |
flush_interval_milliseconds | Interval for flushing data from the buffer in memory to the table. | 7500 | |
max_size_rows | Maximal size in lines for the logs. When the amount of non-flushed logs reaches the max_size, logs are dumped to the disk. | 1048576 | |
reserved_size_rows | Pre-allocated memory size in lines for the logs. | 8192 | |
buffer_size_rows_flush_threshold | Threshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background. | max_size_rows / 2 | |
flush_on_crash | Sets whether logs should be dumped to the disk in case of a crash. | false |
mlock_executable
Выполнить mlockall
после старта, чтобы снизить задержку первых запросов и предотвратить свопирование исполняемого кода ClickHouse при высокой нагрузке на диски.
Рекомендуется включить эту опцию, но это приведет к увеличению времени загрузки на несколько секунд. Имейте в виду, что эта настройка не будет работать без возможности "CAP_IPC_LOCK".
Пример
mmap_cache_size
Тип | По умолчанию |
---|---|
UInt64 | 1024 |
Устанавливает размер кэша (в байтах) для отображаемых файлов. Эта настройка позволяет избежать частых вызовов открытия/закрытия (которые являются очень затратными из-за последующих обращений к страницам) и повторно использовать отображения от нескольких потоков и запросов. Значение настройки — это количество отображенных регионов (обычно равно количеству отображаемых файлов).
Количество данных в отображаемых файлах можно контролировать в следующих системных таблицах с следующими метриками:
Системная таблица | Метрика |
---|---|
system.metrics и system.metric_log | MMappedFiles и MMappedFileBytes |
system.asynchronous_metrics_log | MMapCacheCells |
system.events , system.processes , system.query_log , system.query_thread_log , system.query_views_log | CreatedReadBufferMMap , CreatedReadBufferMMapFailed , MMappedFileCacheHits , MMappedFileCacheMisses |
Количество данных в отображаемых файлах не потребляет память напрямую и не учитывается в использовании памяти в запросах или сервере — потому что эта память может быть освобождена, как кэш страниц ОС. Кэш автоматически сбрасывается (файлы закрываются) при удалении старых частей в таблицах семейства MergeTree, также его можно сбросить вручную с помощью запроса SYSTEM DROP MMAP CACHE
.
Эта настройка может быть изменена во время работы и вступит в силу немедленно.
mutation_workload
Тип | По умолчанию |
---|---|
String | default |
Используется для регулирования того, как ресурсы используются и делятся между мутациями и другими рабочими нагрузками. Указанное значение используется как значение параметра workload
для всех фоновых мутаций. Может быть переопределено настройкой дерева объединения.
Смотрите также
mysql_port
Порт для связи с клиентами через MySQL-протокол.
- Положительные целые числа указывают номер порта для прослушивания.
- Пустые значения используются для отключения связи с клиентами по MySQL-протоколу.
Пример
openSSL
Конфигурация клиента/сервера SSL.
Поддержка SSL обеспечивается библиотекой libpoco
. Доступные параметры конфигурации объясняются в SSLManager.h. Значения по умолчанию можно найти в SSLManager.cpp.
Ключи для настроек сервера/клиента:
Параметр | Описание | Значение по умолчанию |
---|---|---|
privateKeyFile | Путь к файлу с секретным ключом PEM-сертификата. Файл может одновременно содержать ключ и сертификат. | |
certificateFile | Путь к файлу клиентского/серверного сертификата в формате PEM. Вы можете опустить его, если privateKeyFile содержит сертификат. | |
caConfig | Путь к файлу или директории, содержащей доверенные сертификаты CA. Если он указывает на файл, он должен быть в формате PEM и может содержать несколько сертификатов CA. Если он указывает на директорию, она должна содержать один .pem файл на каждый сертификат CA. Имена файлов ищутся по хешу имени субъекта CA. Подробности можно найти в странице man SSL_CTX_load_verify_locations. | |
verificationMode | Метод проверки сертификатов узла. Подробности см. в описании класса Context. Возможные значения: none , relaxed , strict , once . | relaxed |
verificationDepth | Максимальная длина цепочки проверки. Проверка не пройдет, если длина цепочки сертификатов превышает установленное значение. | 9 |
loadDefaultCAFile | Должны ли использоваться встроенные сертификаты CA для OpenSSL. ClickHouse предполагает, что встроенные сертификаты CA находятся в файле /etc/ssl/cert.pem (или в директории /etc/ssl/certs ) или в файле (или директории), указанном переменной окружения SSL_CERT_FILE (или SSL_CERT_DIR ). | true |
cipherList | Поддерживаемые шифры OpenSSL. | ALL:!ADH:!LOW:!EXP:!MD5:!3DES:@STRENGTH |
cacheSessions | Включает или отключает кэширование сессий. Должен использоваться в сочетании с sessionIdContext . Приемлемые значения: true , false . | false |
sessionIdContext | Уникальный набор случайных символов, который сервер добавляет к каждому сгенерированному идентификатору. Длина строки не должна превышать SSL_MAX_SSL_SESSION_ID_LENGTH . Этот параметр всегда рекомендуется, так как он помогает избежать проблем как при кэшировании сессии сервером, так и при запросе кэширования клиентом. | $\{application.name\} |
sessionCacheSize | Максимальное количество сессий, которые сервер кэширует. Значение 0 означает неограниченное количество сессий. | 1024*20 |
sessionTimeout | Время кэширования сессии на сервере в часах. | 2 |
extendedVerification | Если включено, проверьте, что CN или SAN сертификата соответствуют имени узла партнера. | false |
requireTLSv1 | Требуется соединение TLSv1. Приемлемые значения: true , false . | false |
requireTLSv1_1 | Требуется соединение TLSv1.1. Приемлемые значения: true , false . | false |
requireTLSv1_2 | Требуется соединение TLSv1.2. Приемлемые значения: true , false . | false |
fips | Включает режим OpenSSL FIPS. Поддерживается, если версия библиотеки OpenSSL поддерживает FIPS. | false |
privateKeyPassphraseHandler | Класс (субкласс PrivateKeyPassphraseHandler), который запрашивает пароль для доступа к приватному ключу. Например: <privateKeyPassphraseHandler> , <name>KeyFileHandler</name> , <options><password>test</password></options> , </privateKeyPassphraseHandler> . | KeyConsoleHandler |
invalidCertificateHandler | Класс (субкласс CertificateHandler) для проверки недействительных сертификатов. Например: <invalidCertificateHandler> <name>RejectCertificateHandler</name> </invalidCertificateHandler> . | RejectCertificateHandler |
disableProtocols | Протоколы, которые не могут быть использованы. | |
preferServerCiphers | Предпочитаемые клиентом шифры сервера. | false |
Пример настроек:
opentelemetry_span_log
Параметры для системной таблицы opentelemetry_span_log
.
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Name of the database. | ||
table | Name of the system table. | ||
engine | MergeTree Engine Definition for a system table. | Cannot be used if partition_by or order_by defined. If not specified MergeTree is selected by default | |
partition_by | Custom partitioning key for a system table. | If engine is specified for system table, partition_by parameter should be specified directly inside 'engine' | |
ttl | Specifies the table TTL. | If engine is specified for system table, ttl parameter should be specified directly inside 'engine' | |
order_by | Custom sorting key for a system table. Can't be used if engine defined. | If engine is specified for system table, order_by parameter should be specified directly inside 'engine' | |
storage_policy | Name of the storage policy to use for the table (optional). | If engine is specified for system table, storage_policy parameter should be specified directly inside 'engine' | |
settings | Additional parameters that control the behavior of the MergeTree (optional). | If engine is specified for system table, settings parameter should be specified directly inside 'engine' | |
flush_interval_milliseconds | Interval for flushing data from the buffer in memory to the table. | 7500 | |
max_size_rows | Maximal size in lines for the logs. When the amount of non-flushed logs reaches the max_size, logs are dumped to the disk. | 1048576 | |
reserved_size_rows | Pre-allocated memory size in lines for the logs. | 8192 | |
buffer_size_rows_flush_threshold | Threshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background. | max_size_rows / 2 | |
flush_on_crash | Sets whether logs should be dumped to the disk in case of a crash. | false |
Пример:
page_cache_block_size
Тип | По умолчанию |
---|---|
UInt64 | 1048576 |
Размер частей файлов, чтобы хранить в кэше страниц пользовательского пространства, в байтах. Все чтения, которые проходят через кэш, будут округлены до ближайшего кратного этого размера.
page_cache_free_memory_ratio
Тип | По умолчанию |
---|---|
Double | 0.15 |
Доля лимита памяти для освобождения от кэша страниц пользовательского пространства. Аналогично настройке min_free_kbytes в Linux.
page_cache_history_window_ms
Тип | По умолчанию |
---|---|
UInt64 | 1000 |
Задержка перед освобожденной памятью, которая может быть использована кэшем страниц пользовательского пространства.
page_cache_lookahead_blocks
Тип | По умолчанию |
---|---|
UInt64 | 16 |
При промахе кэша страниц пользовательского пространства прочитайте до этого количества последовательных блоков за раз из основного хранилища, если они также не находятся в кэше. Каждый блок занимает page_cache_block_size байт.
page_cache_max_size
Тип | По умолчанию |
---|---|
UInt64 | 0 |
Максимальный размер кэша страниц пользовательского пространства. Установите в 0, чтобы отключить кэш. Если больше, чем page_cache_min_size, размер кэша будет постоянно регулироваться в пределах этого диапазона, чтобы использовать большую часть доступной памяти, сохраняя общее использование памяти ниже предела (max_server_memory_usage[_to_ram_ratio]).
page_cache_min_size
Тип | По умолчанию |
---|---|
UInt64 | 104857600 |
Минимальный размер кэша страниц пользовательского пространства.
page_cache_policy
Тип | По умолчанию |
---|---|
String | SLRU |
Название политики кэша страниц пользовательского пространства.
page_cache_shards
Тип | По умолчанию |
---|---|
UInt64 | 4 |
Полосой кэша страниц пользовательского пространства по этому количеству шардов, чтобы снизить конкуренцию мьютексов. Экспериментально, вряд ли улучшит производительность.
page_cache_size_ratio
Тип | По умолчанию |
---|---|
Double | 0.5 |
Размер защищенной очереди в кэше страниц пользовательского пространства относительно общего размера кэша.
part_log
Запись событий, связанных с MergeTree. Например, добавление или слияние данных. Вы можете использовать журнал, чтобы смоделировать алгоритмы слияния и сравнить их характеристики. Вы можете визуализировать процесс слияния.
Запросы регистрируются в таблице system.part_log, а не в отдельном файле. Вы можете настроить имя этой таблицы в параметре table
(см. ниже).
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Name of the database. | ||
table | Name of the system table. | ||
engine | MergeTree Engine Definition for a system table. | Cannot be used if partition_by or order_by defined. If not specified MergeTree is selected by default | |
partition_by | Custom partitioning key for a system table. | If engine is specified for system table, partition_by parameter should be specified directly inside 'engine' | |
ttl | Specifies the table TTL. | If engine is specified for system table, ttl parameter should be specified directly inside 'engine' | |
order_by | Custom sorting key for a system table. Can't be used if engine defined. | If engine is specified for system table, order_by parameter should be specified directly inside 'engine' | |
storage_policy | Name of the storage policy to use for the table (optional). | If engine is specified for system table, storage_policy parameter should be specified directly inside 'engine' | |
settings | Additional parameters that control the behavior of the MergeTree (optional). | If engine is specified for system table, settings parameter should be specified directly inside 'engine' | |
flush_interval_milliseconds | Interval for flushing data from the buffer in memory to the table. | 7500 | |
max_size_rows | Maximal size in lines for the logs. When the amount of non-flushed logs reaches the max_size, logs are dumped to the disk. | 1048576 | |
reserved_size_rows | Pre-allocated memory size in lines for the logs. | 8192 | |
buffer_size_rows_flush_threshold | Threshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background. | max_size_rows / 2 | |
flush_on_crash | Sets whether logs should be dumped to the disk in case of a crash. | false |
Пример
parts_kill_delay_period
Тип | По умолчанию |
---|---|
UInt64 | 30 |
Период полного удаления частей для SharedMergeTree. Доступно только в ClickHouse Cloud
parts_kill_delay_period_random_add
Тип | По умолчанию |
---|---|
UInt64 | 10 |
Добавляет равномерно распределённое значение от 0 до x секунд к kill_delay_period, чтобы избежать эффекта гремящего стада и последующего DoS ZooKeeper в случае очень большого количества таблиц. Доступно только в ClickHouse Cloud
parts_killer_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 128 |
Потоки для очистки устаревших потоков общего дерева слияния. Доступно только в ClickHouse Cloud
path
Путь к директории, содержащей данные.
Значок наклона обязателен.
Пример
postgresql_port
Порт для связи с клиентами через протокол PostgreSQL.
- Положительные целые числа определяют номер порта для прослушивания
- Пустые значения используются для отключения связи с клиентами через протокол MySQL.
Пример
prefetch_threadpool_pool_size
Тип | По умолчанию |
---|---|
UInt64 | 100 |
Размер фона пула для предвыборок для удалённых объектных хранилищ
prefetch_threadpool_queue_size
Тип | По умолчанию |
---|---|
UInt64 | 1000000 |
Количество задач, которые можно поместить в пул предвыборок
prefixes_deserialization_thread_pool_thread_pool_queue_size
Тип | По умолчанию |
---|---|
UInt64 | 10000 |
Максимальное количество заданий, которые можно запланировать в пуле потоков десериализации префиксов.
Значение 0
означает неограниченное.
prepare_system_log_tables_on_startup
Тип | По умолчанию |
---|---|
Bool | 0 |
Если установлено в true, ClickHouse создаёт все сконфигурированные таблицы system.*_log
перед запуском. Это может быть полезно, если некоторые скрипты запуска зависят от этих таблиц.
primary_index_cache_policy
Тип | По умолчанию |
---|---|
String | SLRU |
Имя политики кэширования первичного индекса.
primary_index_cache_prewarm_ratio
Тип | По умолчанию |
---|---|
Double | 0.95 |
Соотношение общего размера кэша меток для заполнения во время предварительного прогрева.
primary_index_cache_size
Тип | По умолчанию |
---|---|
UInt64 | 5368709120 |
Максимальный размер кэша для первичного индекса (индекс семейств таблиц MergeTree).
primary_index_cache_size_ratio
Тип | По умолчанию |
---|---|
Double | 0.5 |
Размер защищённой очереди (в случае политики SLRU) в кэше первичного индекса относительно общего размера кэша.
processors_profile_log
Настройки для системной таблицы processors_profile_log
.
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Name of the database. | ||
table | Name of the system table. | ||
engine | MergeTree Engine Definition for a system table. | Cannot be used if partition_by or order_by defined. If not specified MergeTree is selected by default | |
partition_by | Custom partitioning key for a system table. | If engine is specified for system table, partition_by parameter should be specified directly inside 'engine' | |
ttl | Specifies the table TTL. | If engine is specified for system table, ttl parameter should be specified directly inside 'engine' | |
order_by | Custom sorting key for a system table. Can't be used if engine defined. | If engine is specified for system table, order_by parameter should be specified directly inside 'engine' | |
storage_policy | Name of the storage policy to use for the table (optional). | If engine is specified for system table, storage_policy parameter should be specified directly inside 'engine' | |
settings | Additional parameters that control the behavior of the MergeTree (optional). | If engine is specified for system table, settings parameter should be specified directly inside 'engine' | |
flush_interval_milliseconds | Interval for flushing data from the buffer in memory to the table. | 7500 | |
max_size_rows | Maximal size in lines for the logs. When the amount of non-flushed logs reaches the max_size, logs are dumped to the disk. | 1048576 | |
reserved_size_rows | Pre-allocated memory size in lines for the logs. | 8192 | |
buffer_size_rows_flush_threshold | Threshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background. | max_size_rows / 2 | |
flush_on_crash | Sets whether logs should be dumped to the disk in case of a crash. | false |
Настройки по умолчанию:
prometheus
Экспонирование данных метрик для сбора с Prometheus.
Настройки:
endpoint
– HTTP конечная точка для сбора метрик сервером prometheus. Начинается с '/'.port
– Порт дляendpoint
.metrics
– Экспонирование метрик из таблицы system.metrics.events
– Экспонирование метрик из таблицы system.events.asynchronous_metrics
– Экспонирование текущих значений метрик из таблицы system.asynchronous_metrics.errors
- Экспонирование количества ошибок по кодам ошибок, произошедших с момента последнего перезапуска сервера. Эта информация также может быть получена из system.errors.
Пример
Проверьте (замените 127.0.0.1
на IP-адрес или имя хоста вашего сервера ClickHouse):
proxy
Определение прокси-серверов для HTTP и HTTPS запросов, на данный момент поддерживается хранилищем S3, табличными функциями S3 и URL-функциями.
Существует три способа определения прокси-серверов:
- переменные окружения
- списки прокси
- удалённые резолверы прокси.
Поддерживается обход прокси-серверов для определённых хостов с использованием no_proxy
.
Переменные окружения
Переменные окружения http_proxy
и https_proxy
позволяют указать
прокси-сервер для данного протокола. Если у вас она настроена на вашей системе, это должно работать без проблем.
Это самый простой подход, если для данного протокола есть только один прокси-сервер и этот прокси-сервер не изменяется.
Списки прокси
Этот подход позволяет указать один или несколько прокси-серверов для протокола. Если определено более одного прокси-сервера, ClickHouse использует разные прокси на принципе "кругового распределения", балансируя нагрузку между серверами. Это самый простой подход, если для протокола есть более одного прокси-сервера и список прокси-серверов не меняется.
Шаблон конфигурации
Выберите родительское поле в вкладках ниже, чтобы увидеть их дочерние элементы:
- <proxy>
- <http> and <https>
Поле | Описание |
---|---|
<http> | Список одного или нескольких HTTP-прокси |
<https> | Список одного или нескольких HTTPS-прокси |
Поле | Описание |
---|---|
<uri> | URI прокси |
Удалённые резолверы прокси
Возможно, что прокси-серверы изменяются динамически.
В этом случае вы можете определить конечную точку резолвера. ClickHouse отправляет
пустой GET запрос на эту конечную точку, удалённый резолвер должен вернуть хост прокси.
ClickHouse будет использовать его, чтобы сформировать URI прокси, используя следующий шаблон: \{proxy_scheme\}://\{proxy_host\}:{proxy_port}
Шаблон конфигурации
Выберите родительское поле в вкладках ниже, чтобы увидеть их дочерние элементы:
- <proxy>
- <http> and <https>
- <resolver>
Поле | Описание |
---|---|
<http> | Список одного или нескольких резолверов* |
<https> | Список одного или нескольких резолверов* |
Поле | Описание |
---|---|
<resolver> | Конечная точка и другие детали для резолвера |
Вы можете иметь несколько элементов <resolver>
, но используется только первый
<resolver>
для данного протокола. Любые другие элементы <resolver>
для этого протокола игнорируются. Это означает, что балансировка нагрузки
(если это необходимо) должна быть реализована удалённым резолвером.
Поле | Описание |
---|---|
<endpoint> | URI резолвера прокси |
<proxy_scheme> | Протокол конечного URI прокси. Это может быть либо http , либо https . |
<proxy_port> | Номер порта резолвера прокси |
<proxy_cache_time> | Время в секундах, на которое значения из резолвера должны кэшироваться ClickHouse. Установка этого значения в 0 вызывает обращение ClickHouse к резолверу для каждого HTTP или HTTPS запроса. |
Приоритет
Настройки прокси определяются в следующем порядке:
Порядок | Настройка |
---|---|
1. | Удалённые резолверы прокси |
2. | Списки прокси |
3. | Переменные окружения |
ClickHouse будет проверять тип резолвера с наивысшим приоритетом для протокола запроса. Если он не определён, он проверит следующий резолвер с наивысшим приоритетом, пока не дойдёт до резолвера окружения. Это также позволяет использовать сочетания типов резолверов.
query_cache
Доступны следующие настройки:
Настройка | Описание | Значение по умолчанию |
---|---|---|
max_size_in_bytes | Максимальный размер кэша в байтах. 0 означает, что кэш запросов отключён. | 1073741824 |
max_entries | Максимальное количество результатов запросов SELECT , хранящихся в кэше. | 1024 |
max_entry_size_in_bytes | Максимальный размер в байтах, который могут иметь результаты запросов SELECT , сохранённые в кэше. | 1048576 |
max_entry_size_in_rows | Максимальное количество строк, которые могут иметь результаты запросов SELECT , сохранённые в кэше. | 30000000 |
- Изменённые настройки вступают в силу немедленно.
- Данные для кэша запросов выделяются в DRAM. Если память дефицитна, убедитесь, что установлено небольшое значение для
max_size_in_bytes
или отключите кэш запросов полностью.
Пример
query_condition_cache_policy
Тип | По умолчанию |
---|---|
String | SLRU |
Имя политики кэширования условий запроса.
query_condition_cache_size
Тип | По умолчанию |
---|---|
UInt64 | 104857600 |
Максимальный размер кэша условий запроса.
Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно.
query_condition_cache_size_ratio
Тип | По умолчанию |
---|---|
Double | 0.5 |
Размер защищённой очереди (в случае политики SLRU) в кэше условий запроса относительно общего размера кэша.
query_log
Настройка для логирования запросов, полученных с помощью настройки log_queries=1.
Запросы регистрируются в таблице system.query_log, а не в отдельном файле. Вы можете изменить имя таблицы в параметре table
(см. ниже).
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Name of the database. | ||
table | Name of the system table. | ||
engine | MergeTree Engine Definition for a system table. | Cannot be used if partition_by or order_by defined. If not specified MergeTree is selected by default | |
partition_by | Custom partitioning key for a system table. | If engine is specified for system table, partition_by parameter should be specified directly inside 'engine' | |
ttl | Specifies the table TTL. | If engine is specified for system table, ttl parameter should be specified directly inside 'engine' | |
order_by | Custom sorting key for a system table. Can't be used if engine defined. | If engine is specified for system table, order_by parameter should be specified directly inside 'engine' | |
storage_policy | Name of the storage policy to use for the table (optional). | If engine is specified for system table, storage_policy parameter should be specified directly inside 'engine' | |
settings | Additional parameters that control the behavior of the MergeTree (optional). | If engine is specified for system table, settings parameter should be specified directly inside 'engine' | |
flush_interval_milliseconds | Interval for flushing data from the buffer in memory to the table. | 7500 | |
max_size_rows | Maximal size in lines for the logs. When the amount of non-flushed logs reaches the max_size, logs are dumped to the disk. | 1048576 | |
reserved_size_rows | Pre-allocated memory size in lines for the logs. | 8192 | |
buffer_size_rows_flush_threshold | Threshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background. | max_size_rows / 2 | |
flush_on_crash | Sets whether logs should be dumped to the disk in case of a crash. | false |
Если таблица не существует, ClickHouse создаст её. Если структура журнала запросов изменилась при обновлении сервера ClickHouse, таблица со старой структурой переименовывается, и новая таблица создаётся автоматически.
Пример
query_masking_rules
Правила на основе Regexp, которые будут применяться к запросам, а также всем сообщениям журнала перед их сохранением в журналах сервера,
system.query_log
, system.text_log
, system.processes
таблицах и в логах, отправляемых клиенту. Это позволяет предотвратить
утечку конфиденциальных данных из SQL-запросов, таких как имена, электронные письма, персональные идентификаторы или номера кредитных карт в логи.
Пример
Поля конфигурации:
Настройка | Описание |
---|---|
name | имя для правила (необязательно) |
regexp | Совместимое с RE2 регулярное выражение (обязательно) |
replace | строка замещения для конфиденциальных данных (необязательно, по умолчанию - шесть знаков звёздочки) |
Правила маскировки применяются к целому запросу (чтобы предотвратить утечку конфиденциальных данных из неверных / непарсируемых запросов).
В таблице system.events
есть счётчик QueryMaskingRulesMatch
, который показывает общее количество совпадений правил маскировки запросов.
Для распределённых запросов каждый сервер должен быть настроен отдельно, иначе подзапросы, переданные на другие узлы, будут храниться без маскировки.
query_metric_log
По умолчанию отключен.
Включение
Чтобы вручную включить сбор истории метрик для system.query_metric_log
, создайте /etc/clickhouse-server/config.d/query_metric_log.xml
с следующим содержимым:
Отключение
Чтобы отключить настройку query_metric_log
, вам следует создать следующий файл /etc/clickhouse-server/config.d/disable_query_metric_log.xml
с следующим содержимым:
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Name of the database. | ||
table | Name of the system table. | ||
engine | MergeTree Engine Definition for a system table. | Cannot be used if partition_by or order_by defined. If not specified MergeTree is selected by default | |
partition_by | Custom partitioning key for a system table. | If engine is specified for system table, partition_by parameter should be specified directly inside 'engine' | |
ttl | Specifies the table TTL. | If engine is specified for system table, ttl parameter should be specified directly inside 'engine' | |
order_by | Custom sorting key for a system table. Can't be used if engine defined. | If engine is specified for system table, order_by parameter should be specified directly inside 'engine' | |
storage_policy | Name of the storage policy to use for the table (optional). | If engine is specified for system table, storage_policy parameter should be specified directly inside 'engine' | |
settings | Additional parameters that control the behavior of the MergeTree (optional). | If engine is specified for system table, settings parameter should be specified directly inside 'engine' | |
flush_interval_milliseconds | Interval for flushing data from the buffer in memory to the table. | 7500 | |
max_size_rows | Maximal size in lines for the logs. When the amount of non-flushed logs reaches the max_size, logs are dumped to the disk. | 1048576 | |
reserved_size_rows | Pre-allocated memory size in lines for the logs. | 8192 | |
buffer_size_rows_flush_threshold | Threshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background. | max_size_rows / 2 | |
flush_on_crash | Sets whether logs should be dumped to the disk in case of a crash. | false |
query_thread_log
Настройка для логирования потоков запросов, полученных с помощью настройки log_query_threads=1.
Запросы регистрируются в таблице system.query_thread_log, а не в отдельном файле. Вы можете изменить имя таблицы в параметре table
(см. ниже).
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Name of the database. | ||
table | Name of the system table. | ||
engine | MergeTree Engine Definition for a system table. | Cannot be used if partition_by or order_by defined. If not specified MergeTree is selected by default | |
partition_by | Custom partitioning key for a system table. | If engine is specified for system table, partition_by parameter should be specified directly inside 'engine' | |
ttl | Specifies the table TTL. | If engine is specified for system table, ttl parameter should be specified directly inside 'engine' | |
order_by | Custom sorting key for a system table. Can't be used if engine defined. | If engine is specified for system table, order_by parameter should be specified directly inside 'engine' | |
storage_policy | Name of the storage policy to use for the table (optional). | If engine is specified for system table, storage_policy parameter should be specified directly inside 'engine' | |
settings | Additional parameters that control the behavior of the MergeTree (optional). | If engine is specified for system table, settings parameter should be specified directly inside 'engine' | |
flush_interval_milliseconds | Interval for flushing data from the buffer in memory to the table. | 7500 | |
max_size_rows | Maximal size in lines for the logs. When the amount of non-flushed logs reaches the max_size, logs are dumped to the disk. | 1048576 | |
reserved_size_rows | Pre-allocated memory size in lines for the logs. | 8192 | |
buffer_size_rows_flush_threshold | Threshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background. | max_size_rows / 2 | |
flush_on_crash | Sets whether logs should be dumped to the disk in case of a crash. | false |
Если таблица не существует, ClickHouse создаст её. Если структура журнала потоков запросов изменилась при обновлении сервера ClickHouse, таблица со старой структурой переименовывается, и новая таблица создаётся автоматически.
Пример
query_views_log
Настройка для логирования представлений (живых, материализованных и т.д.), зависимых от запросов, полученных с помощью настройки log_query_views=1.
Запросы регистрируются в таблице system.query_views_log, а не в отдельном файле. Вы можете изменить имя таблицы в параметре table
(см. ниже).
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Name of the database. | ||
table | Name of the system table. | ||
engine | MergeTree Engine Definition for a system table. | Cannot be used if partition_by or order_by defined. If not specified MergeTree is selected by default | |
partition_by | Custom partitioning key for a system table. | If engine is specified for system table, partition_by parameter should be specified directly inside 'engine' | |
ttl | Specifies the table TTL. | If engine is specified for system table, ttl parameter should be specified directly inside 'engine' | |
order_by | Custom sorting key for a system table. Can't be used if engine defined. | If engine is specified for system table, order_by parameter should be specified directly inside 'engine' | |
storage_policy | Name of the storage policy to use for the table (optional). | If engine is specified for system table, storage_policy parameter should be specified directly inside 'engine' | |
settings | Additional parameters that control the behavior of the MergeTree (optional). | If engine is specified for system table, settings parameter should be specified directly inside 'engine' | |
flush_interval_milliseconds | Interval for flushing data from the buffer in memory to the table. | 7500 | |
max_size_rows | Maximal size in lines for the logs. When the amount of non-flushed logs reaches the max_size, logs are dumped to the disk. | 1048576 | |
reserved_size_rows | Pre-allocated memory size in lines for the logs. | 8192 | |
buffer_size_rows_flush_threshold | Threshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background. | max_size_rows / 2 | |
flush_on_crash | Sets whether logs should be dumped to the disk in case of a crash. | false |
Если таблица не существует, ClickHouse создаст её. Если структура журнала представлений запросов изменилась при обновлении сервера ClickHouse, таблица со старой структурой переименовывается, и новая таблица создаётся автоматически.
Пример
remap_executable
Настройка для перераспределения памяти для машинного кода ("текста") с использованием огромных страниц.
Эта функция является высокоэкспериментальной.
Пример:
remote_servers
Конфигурация кластеров, используемых движком таблиц Distributed и функцией таблицы cluster
.
Пример
Для значения атрибута incl
см. раздел "Файлы конфигурации".
Смотрите также
remote_url_allow_hosts
Список хостов, которые могут быть использованы в движках хранения и табличных функциях, связанных с URL.
При добавлении хоста с помощью XML-тега \<host\>
:
- он должен быть указан точно так же, как в URL, так как имя проверяется перед разрешением DNS. Например:
<host>clickhouse.com</host>
- если порт явно указан в URL, тогда проверяется host:port целиком. Например:
<host>clickhouse.com:80</host>
- если хост указан без порта, то разрешается любой порт хоста. Например: если указан
<host>clickhouse.com</host>
, тогда разрешеныclickhouse.com:20
(FTP),clickhouse.com:80
(HTTP),clickhouse.com:443
(HTTPS) и т.д. - если хост указан как IP-адрес, тогда он проверяется так, как указано в URL. Например:
[2a02:6b8:a::a]
. - если есть перенаправления и поддержка перенаправлений включена, тогда каждое перенаправление (поле location) проверяется.
Например:
replica_group_name
Имя группы реплик для базы данных Replicated.
Кластер, созданный реплицированной базой данных, будет состоять из реплик в одной и той же группе. DDL-запросы будут ожидать только реплики в одной и той же группе.
По умолчанию пусто.
Пример
replicated_fetches_http_connection_timeout
Тип | По умолчанию |
---|---|
Seconds | 0 |
Тайм-аут HTTP-соединения для запросов извлечения частей. Наследуется от профиля по умолчанию http_connection_timeout
, если не установлен явно.
replicated_fetches_http_receive_timeout
Тип | По умолчанию |
---|---|
Seconds | 0 |
Тайм-аут приёма HTTP для запросов извлечения частей. Наследуется от профиля по умолчанию http_receive_timeout
, если не установлен явно.
replicated_fetches_http_send_timeout
Тип | По умолчанию |
---|---|
Seconds | 0 |
Тайм-аут отправки HTTP для запросов извлечения частей. Наследуется от профиля по умолчанию http_send_timeout
, если не установлен явно.
replicated_merge_tree
Тонкая настройка для таблиц в ReplicatedMergeTree. Эта настройка имеет более высокий приоритет.
Для получения дополнительной информации см. заголовочный файл MergeTreeSettings.h.
Пример
restore_threads
Тип | По умолчанию |
---|---|
UInt64 | 16 |
Максимальное количество потоков для выполнения запросов RESTORE.
s3queue_log
Настройки для системной таблицы s3queue_log
.
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Name of the database. | ||
table | Name of the system table. | ||
engine | MergeTree Engine Definition for a system table. | Cannot be used if partition_by or order_by defined. If not specified MergeTree is selected by default | |
partition_by | Custom partitioning key for a system table. | If engine is specified for system table, partition_by parameter should be specified directly inside 'engine' | |
ttl | Specifies the table TTL. | If engine is specified for system table, ttl parameter should be specified directly inside 'engine' | |
order_by | Custom sorting key for a system table. Can't be used if engine defined. | If engine is specified for system table, order_by parameter should be specified directly inside 'engine' | |
storage_policy | Name of the storage policy to use for the table (optional). | If engine is specified for system table, storage_policy parameter should be specified directly inside 'engine' | |
settings | Additional parameters that control the behavior of the MergeTree (optional). | If engine is specified for system table, settings parameter should be specified directly inside 'engine' | |
flush_interval_milliseconds | Interval for flushing data from the buffer in memory to the table. | 7500 | |
max_size_rows | Maximal size in lines for the logs. When the amount of non-flushed logs reaches the max_size, logs are dumped to the disk. | 1048576 | |
reserved_size_rows | Pre-allocated memory size in lines for the logs. | 8192 | |
buffer_size_rows_flush_threshold | Threshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background. | max_size_rows / 2 | |
flush_on_crash | Sets whether logs should be dumped to the disk in case of a crash. | false |
Настройки по умолчанию:
send_crash_reports
Настройки для отправки отчётов об ошибках команде разработчиков ClickHouse через Sentry.
Включение этой функции, особенно в пред-производственных средах, очень рекомендуется.
Серверу потребуется доступ к общему Интернету через IPv4 (на момент написания IPv6 не поддерживается Sentry), чтобы эта функция работала правильно.
Ключи:
Ключ | Описание |
---|---|
enabled | Логический флаг для включения функции, по умолчанию false . Установите значение true , чтобы разрешить отправку отчётов об ошибках. |
send_logical_errors | LOGICAL_ERROR подобен assert , это ошибка в ClickHouse. Этот логический флаг позволяет отправлять эти исключения в Sentry (по умолчанию: false ). |
endpoint | Вы можете переопределить URL-адрес конечной точки Sentry для отправки отчетов об ошибках. Это может быть либо отдельная учётная запись Sentry, либо ваш собственный экземпляр Sentry. Используйте синтаксис Sentry DSN. |
anonymize | Избегайте прикрепления имени хоста сервера к отчёту об ошибках. |
http_proxy | Настройка HTTP-прокси для отправки отчётов об ошибках. |
debug | Устанавливает Sentry клиент в режим отладки. |
tmp_path | Путь на файловой системе для временного состояния отчёта об ошибках. |
environment | Произвольное имя окружения, в котором работает сервер ClickHouse. Оно будет указано в каждом отчете об ошибках. Значение по умолчанию - test или prod , в зависимости от версии ClickHouse. |
Рекомендуемое использование
series_keeper_path
Тип | По умолчанию |
---|---|
String | /clickhouse/series |
Путь в Keeper с автоинкрементными номерами, которые генерируются функцией generateSerialID
. Каждая серия будет узлом под этим путём.
show_addresses_in_stack_traces
Тип | По умолчанию |
---|---|
Bool | 1 |
Если установлено в true, будет отображать адреса в стеке вызовов.
shutdown_wait_backups_and_restores
Тип | По умолчанию |
---|---|
Bool | 1 |
Если установлено в true, ClickHouse будет ждать завершения текущих резервных копий и восстанавливаний перед завершением работы.
shutdown_wait_unfinished
Тип | По умолчанию |
---|---|
UInt64 | 5 |
Задержка в секундах для ожидания незавершённых запросов.
shutdown_wait_unfinished_queries
Тип | По умолчанию |
---|---|
Bool | 0 |
Если установлено в true, ClickHouse будет ждать завершения выполняющихся запросов перед завершением работы.
ssh_server
Публичная часть ключа хоста будет записана в файл known_hosts на стороне клиента SSH при первом подключении.
Конфигурации ключей хоста по умолчанию неактивны. Закомментируйте конфигурации ключей хоста и предоставьте путь к соответствующему ssh-ключу, чтобы активировать их:
Пример:
storage_configuration
Позволяет настроить много-дисковую конфигурацию хранения.
Конфигурация хранения имеет следующую структуру:
Конфигурация дисков
Конфигурация disks
следует приведённой ниже структуре:
Подтеги выше определяют следующие параметры для disks
:
Настройка | Описание |
---|---|
<disk_name_N> | Имя диска, которое должно быть уникальным. |
path | Путь, по которому будет храниться серверные данные (каталоги data и shadow ). Должен заканчиваться / |
keep_free_space_bytes | Размер зарезервированного свободного пространства на диске. |
Порядок дисков не имеет значения.
Конфигурация политик
Подтеги выше определяют следующие настройки для policies
:
Настройка | Описание |
---|---|
policy_name_N | Имя политики. Имена политик должны быть уникальными. |
volume_name_N | Имя тома. Имена томов должны быть уникальными. |
disk | Диск, расположенный внутри тома. |
max_data_part_size_bytes | Максимальный размер части данных, который может находиться на любом из дисков в этом томе. Если слияние приведет к размеру части, ожидаемому больше чем max_data_part_size_bytes , эта часть будет записана на следующий том. По сути, эта функция позволяет вам хранить новые / маленькие части на горячем (SSD) томе и перемещать их на холодный (HDD) том, когда они достигают крупного размера. Не используйте этот вариант, если у политики только один том. |
move_factor | Доля доступного свободного места на томе. Если пространство становится меньше, данные начнут передаваться на следующий том, если он есть. Для передачи части сортируются по размеру от большего к меньшему (по убыванию), и выбираются части, общий размер которых достаточен для соблюдения условия move_factor . Если общий размер всех частей недостаточен, все части будут перемещены. |
perform_ttl_move_on_insert | Отключает перемещение данных с истекшим TTL при вставке. По умолчанию (если включено), если мы вставляем кусок данных, который уже истек в соответствии с правилом перемещения в течение срока жизни, он немедленно перемещается на том / диске, указанном в правиле перемещения. Это может значительно замедлить вставку в случае, если целевой том / диск медленный (например, S3). Если отключено, истекшая часть данных записывается на стандартный том, а затем немедленно перемещается на том, указанном в правиле для истекшего TTL. |
load_balancing | Политика балансировки дисков, round_robin или least_used . |
least_used_ttl_ms | Устанавливает таймаут (в миллисекундах) для обновления доступного пространства на всех дисках (0 - всегда обновлять, -1 - никогда не обновлять, значение по умолчанию 60000 ). Обратите внимание, если диск используется только ClickHouse и не будет подвергаться изменению размера файловой системы в реальном времени, вы можете использовать значение -1 . В противном случае это не рекомендуется, так как в конечном итоге приведет к неправильному распределению пространства. |
prefer_not_to_merge | Отключает слияние частей данных на этом томе. Заметьте: это потенциально вредно и может вызвать замедление. Когда эта настройка включена (не делайте этого), слияние данных на этом томе запрещено (что плохо). Это позволяет контролировать, как ClickHouse взаимодействует с медленными дисками. Мы рекомендуем вообще не использовать это. |
volume_priority | Определяет приоритет (порядок) заполнения томов. Чем меньше значение, тем выше приоритет. Значения параметров должны быть натуральными числами и охватывать диапазон от 1 до N (N - наибольшее указанное значение параметра) без разрывов. |
Для volume_priority
:
- Если все тома имеют этот параметр, они сортируются в указанном порядке.
- Если только некоторые тома имеют его, то тома, которые его не имеют, имеют наименьший приоритет. Те, которые его имеют, сортируются в соответствии со значением тега, приоритет остальных определяется порядком описания в файле конфигурации относительно друг друга.
- Если ни один том не имеет этого параметра, их порядок определяется порядком описания в файле конфигурации.
- Приоритет томов может не быть идентичным.
storage_connections_soft_limit
Тип | Значение по умолчанию |
---|---|
UInt64 | 100 |
Соединения выше этого лимита имеют значительно более короткий срок жизни. Лимит применяется к соединениям с хранилищами.
storage_connections_store_limit
Тип | Значение по умолчанию |
---|---|
UInt64 | 5000 |
Соединения выше этого лимита сбрасываются после использования. Установите в 0
, чтобы отключить кэш соединений. Лимит применяется к соединениям с хранилищами.
storage_connections_warn_limit
Тип | Значение по умолчанию |
---|---|
UInt64 | 1000 |
Предупреждающие сообщения записываются в журналы, если количество используемых соединений превышает этот лимит. Лимит применяется к соединениям с хранилищами.
storage_metadata_write_full_object_key
Тип | Значение по умолчанию |
---|---|
Bool | 0 |
Записывать файлы метаданных диска в формате VERSION_FULL_OBJECT_KEY.
storage_shared_set_join_use_inner_uuid
Тип | Значение по умолчанию |
---|---|
Bool | 1 |
Если включено, внутренний UUID генерируется при создании SharedSet и SharedJoin. Только ClickHouse Cloud.
table_engines_require_grant
Если установлено в true
, пользователям требуется разрешение для создания таблицы с конкретным движком, например, GRANT TABLE ENGINE ON TinyLog to user
.
По умолчанию, для обратной совместимости создание таблицы с конкретным движком таблицы игнорирует разрешение, однако вы можете изменить это поведение, установив значение в true
.
tables_loader_background_pool_size
Тип | Значение по умолчанию |
---|---|
UInt64 | 0 |
Устанавливает количество потоков, выполняющих асинхронные задачи загрузки в фоновом режиме. Фоновый пул используется для загрузки таблиц асинхронно после запуска сервера, в случае если нет ожидающих запросов к таблице. Может быть полезно поддерживать небольшое количество потоков в фоновом пуле, если много таблиц. Это зарезервирует ресурсы CPU для параллельного выполнения запросов.
Значение 0
означает, что будут использоваться все доступные CPU.
tables_loader_foreground_pool_size
Тип | Значение по умолчанию |
---|---|
UInt64 | 0 |
Устанавливает количество потоков, выполняющих задачи загрузки в переднем пуле. Передний пул используется для синхронной загрузки таблицы перед началом прослушивания порта сервером и для загрузки таблиц, которые ожидаются. Передний пул имеет более высокий приоритет, чем фоновый пул. Это означает, что ни одна задача не начинается в фоновом пуле, пока в переднем пуле выполняются задачи.
Значение 0
означает, что будут использоваться все доступные CPU.
tcp_port
Порт для общения с клиентами по протоколу TCP.
Пример
tcp_port_secure
TCP порт для безопасной связи с клиентами. Используйте его с настройками OpenSSL.
Значение по умолчанию
tcp_ssh_port
Порт для SSH сервера, который позволяет пользователю подключаться и выполнять запросы в интерактивном режиме, используя встроенный клиент через PTY.
Пример:
temporary_data_in_cache
С этим параметром временные данные будут храниться в кэше для конкретного диска.
В этом разделе вы должны указать имя диска с типом cache
.
В этом случае кэш и временные данные будут делить одно и то же пространство, и кэш диска может быть удален для создания временных данных.
Можно использовать только один вариант для настройки хранения временных данных: tmp_path
, tmp_policy
, temporary_data_in_cache
.
Пример
Как для кэша local_disk
, так и временные данные будут храниться в /tiny_local_cache
в файловой системе, управляемой tiny_local_cache
.
text_log
Настройки для системной таблицы text_log для логирования текстовых сообщений.
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Name of the database. | ||
table | Name of the system table. | ||
engine | MergeTree Engine Definition for a system table. | Cannot be used if partition_by or order_by defined. If not specified MergeTree is selected by default | |
partition_by | Custom partitioning key for a system table. | If engine is specified for system table, partition_by parameter should be specified directly inside 'engine' | |
ttl | Specifies the table TTL. | If engine is specified for system table, ttl parameter should be specified directly inside 'engine' | |
order_by | Custom sorting key for a system table. Can't be used if engine defined. | If engine is specified for system table, order_by parameter should be specified directly inside 'engine' | |
storage_policy | Name of the storage policy to use for the table (optional). | If engine is specified for system table, storage_policy parameter should be specified directly inside 'engine' | |
settings | Additional parameters that control the behavior of the MergeTree (optional). | If engine is specified for system table, settings parameter should be specified directly inside 'engine' | |
flush_interval_milliseconds | Interval for flushing data from the buffer in memory to the table. | 7500 | |
max_size_rows | Maximal size in lines for the logs. When the amount of non-flushed logs reaches the max_size, logs are dumped to the disk. | 1048576 | |
reserved_size_rows | Pre-allocated memory size in lines for the logs. | 8192 | |
buffer_size_rows_flush_threshold | Threshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background. | max_size_rows / 2 | |
flush_on_crash | Sets whether logs should be dumped to the disk in case of a crash. | false |
Дополнительно:
Настройка | Описание | Значение по умолчанию |
---|---|---|
level | Максимальный уровень сообщения (по умолчанию Trace ), который будет храниться в таблице. | Trace |
Пример
thread_pool_queue_size
Тип | Значение по умолчанию |
---|---|
UInt64 | 10000 |
Максимальное количество задач, которые могут быть запланированы в глобальном пуле потоков. Увеличение размера очереди приводит к большему использованию памяти. Рекомендуется поддерживать это значение равным max_thread_pool_size
.
Значение 0
означает неограниченно.
Пример
threadpool_writer_pool_size
Тип | Значение по умолчанию |
---|---|
UInt64 | 100 |
Размер фона пула для записей запросов к объектным хранилищам.
threadpool_writer_queue_size
Тип | Значение по умолчанию |
---|---|
UInt64 | 1000000 |
Количество задач, которые можно добавить в фоновый пул для записей запросов к объектным хранилищам.
throw_on_unknown_workload
Тип | Значение по умолчанию |
---|---|
Bool | 0 |
Определяет поведение при доступе к неизвестной рабочей нагрузке с настройкой запроса 'workload'.
- Если
true
, выбрасывается исключение RESOURCE_ACCESS_DENIED из запроса, пытающегося получить доступ к неизвестной рабочей нагрузке. Полезно для обеспечения планирования ресурсов для всех запросов после того, как иерархия WORKLOAD установлена и содержит WORKLOAD по умолчанию. - Если
false
(по умолчанию), неограниченный доступ без планирования ресурсов предоставляется запросу с настройкой 'workload', указывающей на неизвестную рабочую нагрузку. Это важно во время настройки иерархии WORKLOAD, до добавления WORKLOAD по умолчанию.
Пример
См. также
timezone
Часовой пояс сервера.
Указывается как идентификатор IANA для часового пояса UTC или географического местоположения (например, Africa/Abidjan).
Часовой пояс необходим для преобразований между строковыми и форматами DateTime, когда поля DateTime выводятся в текстовом формате (печатаются на экране или в файл) и при получении DateTime из строки. Кроме того, часовой пояс используется в функциях, которые работают с временем и датой, если они не получили часовой пояс в входных параметрах.
Пример
См. также
tmp_path
Путь в локальной файловой системе для хранения временных данных для обработки больших запросов.
- Можно использовать только один вариант для настройки хранения временных данных:
tmp_path
,tmp_policy
,temporary_data_in_cache
. - Заключительный слэш обязателен.
Пример
tmp_policy
Политика для хранения с временными данными. Для получения дополнительной информации см. документацию MergeTree Table Engine.
- Можно использовать только один вариант для настройки хранения временных данных:
tmp_path
,tmp_policy
,temporary_data_in_cache
. move_factor
,keep_free_space_bytes
,max_data_part_size_bytes
игнорируются.- Политика должна иметь ровно один том с локальными дисками.
Пример
Когда /disk1
заполнен, временные данные будут храниться на /disk2
.
top_level_domains_list
Определяет список пользовательских доменов верхнего уровня, которые необходимо добавить, где каждый элемент имеет формат <name>/path/to/file</name>
.
Например:
См. также:
- функция
cutToFirstSignificantSubdomainCustom
и ее вариации, которая принимает имя пользовательского списка TLD, возвращая часть домена, которая включает верхние поддомены до первого значительного поддомена.
total_memory_profiler_sample_max_allocation_size
Тип | Значение по умолчанию |
---|---|
UInt64 | 0 |
Собирать случайные аллокации размером меньше или равным указанному значению с вероятностью, равной total_memory_profiler_sample_probability
. 0 означает отключение. Вы можете установить 'max_untracked_memory' в 0, чтобы этот порог работал как ожидалось.
total_memory_profiler_sample_min_allocation_size
Тип | Значение по умолчанию |
---|---|
UInt64 | 0 |
Собирать случайные аллокации размером больше или равным указанному значению с вероятностью, равной total_memory_profiler_sample_probability
. 0 означает отключение. Вы можете установить 'max_untracked_memory' в 0, чтобы этот порог работал как ожидалось.
total_memory_profiler_step
Тип | Значение по умолчанию |
---|---|
UInt64 | 0 |
Каждый раз, когда использование памяти сервером превышает каждый следующий шаг в байтах, профилировщик памяти соберет стек трассировки аллокации. Ноль означает отключение профилировщика памяти. Значения ниже нескольких мегабайт замедлят сервер.
total_memory_tracker_sample_probability
Тип | Значение по умолчанию |
---|---|
Double | 0 |
Позволяет собирать случайные аллокации и деаллокации и записывать их в системную таблицу system.trace_log с trace_type
, равным MemorySample
, с указанной вероятностью. Вероятность касается каждой аллокации или деаллокации, независимо от размера аллокации. Обратите внимание, что выборка происходит только тогда, когда количество непроверенной памяти превышает лимит непроверенной памяти (значение по умолчанию — 4
MiB). Его можно уменьшить, если total_memory_profiler_step уменьшить. Вы можете установить total_memory_profiler_step
равным 1
для более тонкой выборки.
Возможные значения:
- Положительное целое число.
0
— Запись случайных аллокаций и деаллокаций в системную таблицуsystem.trace_log
отключена.
trace_log
Настройки для системной таблицы trace_log операции.
The following settings can be configured by sub-tags:
Setting | Description | Default | Note |
---|---|---|---|
database | Name of the database. | ||
table | Name of the system table. | ||
engine | MergeTree Engine Definition for a system table. | Cannot be used if partition_by or order_by defined. If not specified MergeTree is selected by default | |
partition_by | Custom partitioning key for a system table. | If engine is specified for system table, partition_by parameter should be specified directly inside 'engine' | |
ttl | Specifies the table TTL. | If engine is specified for system table, ttl parameter should be specified directly inside 'engine' | |
order_by | Custom sorting key for a system table. Can't be used if engine defined. | If engine is specified for system table, order_by parameter should be specified directly inside 'engine' | |
storage_policy | Name of the storage policy to use for the table (optional). | If engine is specified for system table, storage_policy parameter should be specified directly inside 'engine' | |
settings | Additional parameters that control the behavior of the MergeTree (optional). | If engine is specified for system table, settings parameter should be specified directly inside 'engine' | |
flush_interval_milliseconds | Interval for flushing data from the buffer in memory to the table. | 7500 | |
max_size_rows | Maximal size in lines for the logs. When the amount of non-flushed logs reaches the max_size, logs are dumped to the disk. | 1048576 | |
reserved_size_rows | Pre-allocated memory size in lines for the logs. | 8192 | |
buffer_size_rows_flush_threshold | Threshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background. | max_size_rows / 2 | |
flush_on_crash | Sets whether logs should be dumped to the disk in case of a crash. | false |
Файл конфигурации сервера по умолчанию config.xml
содержит следующий раздел настроек:
uncompressed_cache_policy
Тип | Значение по умолчанию |
---|---|
String | SLRU |
Имя политики для неупакованного кэша.
uncompressed_cache_size
Тип | Значение по умолчанию |
---|---|
UInt64 | 0 |
Максимальный размер (в байтах) для неупакованных данных, используемых движками таблиц из семейства MergeTree.
Существует один общий кэш для сервера. Память выделяется по мере необходимости. Кэш используется, если опция use_uncompressed_cache
включена.
Неупакованный кэш выгоден для очень коротких запросов в отдельных случаях.
Значение 0
означает отключение.
Эту настройку можно изменить во время работы, и она вступит в силу немедленно.
uncompressed_cache_size_ratio
Тип | Значение по умолчанию |
---|---|
Double | 0.5 |
Размер защищенной очереди (в случае политики SLRU) в неупакованном кэше относительно общего размера кэша.
url_scheme_mappers
Конфигурация для перевода сокращенных или символических префиксов URL в полные URL.
Пример:
use_minimalistic_part_header_in_zookeeper
Метод хранения заголовков данных в ZooKeeper. Эта настройка применяется только к семейству MergeTree
. Указать можно:
Глобально в разделе merge_tree файла config.xml
ClickHouse использует настройку для всех таблиц на сервере. Вы можете изменить настройку в любое время. Существующие таблицы изменяют свое поведение при изменении настройки.
Для каждой таблицы
При создании таблицы указывайте соответствующую настройку движка. Поведение существующей таблицы с этой настройкой не изменяется, даже если глобальная настройка изменится.
Возможные значения
0
— Функциональность отключена.1
— Функциональность включена.
Если use_minimalistic_part_header_in_zookeeper = 1
, тогда реплицированные таблицы хранят заголовки частей данных компактно, используя один znode
. Если в таблице много колонок, этот метод хранения значительно уменьшает объем данных, хранящихся в ZooKeeper.
После применения use_minimalistic_part_header_in_zookeeper = 1
вы не сможете понизить версию сервера ClickHouse до версии, которая не поддерживает эту настройку. Будьте осторожны при обновлении ClickHouse на серверах в кластере. Не обновляйте все серверы одновременно. Безопаснее протестировать новые версии ClickHouse в тестовой среде или на нескольких серверах кластера.
Заголовки частей данных, уже сохраненные с этой настройкой, не могут быть восстановлены до их предыдущего (не компактного) представления.
user_defined_executable_functions_config
Путь к файлу конфигурации для исполняемых пользовательских определяемых функций.
Путь:
- Укажите абсолютный путь или путь относительно файла конфигурации сервера.
- Путь может содержать символы подстановки * и ?.
См. также:
Пример
user_defined_path
Каталог с пользовательскими определяемыми файлами. Используется для SQL пользовательских определяемых функций SQL User Defined Functions.
Пример
user_directories
Раздел файла конфигурации, который содержит настройки:
- Путь к файлу конфигурации с предопределенными пользователями.
- Путь к папке, где хранятся пользователи, созданные SQL-командами.
- Путь к узлу ZooKeeper, где хранятся и реплицируются пользователи, созданные SQL-командами (экспериментально).
Если этот раздел указан, путь из users_config и access_control_path не будут использоваться.
Раздел user_directories
может содержать любое количество элементов, порядок элементов означает их приоритет (чем выше элемент, тем выше приоритет).
Примеры
Пользователи, роли, политики строк, квоты и профили также могут храниться в ZooKeeper:
Вы также можете определить секции memory
— означает хранение информации только в памяти, без записи на диск, и ldap
— означает хранение информации на LDAP-сервере.
Чтобы добавить LDAP-сервер в качестве удаленного каталога пользователей, не определенных локально, определите единую секцию ldap
со следующими настройками:
Настройка | Описание |
---|---|
server | одно из имен LDAP-серверов, определенных в разделе конфигурации ldap_servers . Этот параметр обязателен и не может быть пустым. |
roles | секция со списком локально определенных ролей, которые будут назначены каждому пользователю, извлеченному с LDAP-сервера. Если роли не указаны, пользователь не сможет выполнять никаких действий после аутентификации. |
Пример
user_files_path
Каталог с пользовательскими файлами. Используется в табличной функции file(), fileCluster().
Пример
user_scripts_path
Каталог с пользовательскими скриптами. Используется для исполняемых пользовательских определяемых функций Executable User Defined Functions.
Пример
users_config
Путь к файлу, который содержит:
- Конфигурации пользователей.
- Права доступа.
- Профили настроек.
- Настройки квоты.
Пример
validate_tcp_client_information
Тип | Значение по умолчанию |
---|---|
Bool | 0 |
Определяет, включена ли валидация информации клиента при получении пакета запроса.
По умолчанию это false
:
vector_similarity_index_cache_max_entries
Тип | Значение по умолчанию |
---|---|
UInt64 | 10000000 |
Размер кэша для индекса векторного сходства в записях. Ноль означает отключение.
vector_similarity_index_cache_policy
Тип | Значение по умолчанию |
---|---|
String | SLRU |
Имя политики кэша для индекса векторного сходства.
vector_similarity_index_cache_size
Тип | Значение по умолчанию |
---|---|
UInt64 | 5368709120 |
Размер кэша для индексов векторного сходства. Ноль означает отключение.
Эту настройку можно изменить во время работы, и она вступит в силу немедленно.
vector_similarity_index_cache_size_ratio
Тип | Значение по умолчанию |
---|---|
Double | 0.5 |
Размер защищенной очереди (в случае политики SLRU) в кэше индекса векторного сходства относительно общего размера кэша.
wait_dictionaries_load_at_startup
Тип | По умолчанию |
---|---|
Bool | 1 |
Эта настройка позволяет указать поведение, если dictionaries_lazy_load
равно false
.
(Если dictionaries_lazy_load
равно true
, эта настройка ничего не изменяет.)
Если wait_dictionaries_load_at_startup
равно false
, то сервер
начнет загружать все словари при запуске и будет принимать соединения параллельно с этой загрузкой.
Когда словарь используется в запросе в первый раз, запрос будет ждать, пока словарь не будет загружен, если он еще не загружен.
Установка wait_dictionaries_load_at_startup
в значение false
может сделать запуск ClickHouse быстрее, однако некоторые запросы могут выполняться медленнее
(потому что им придется ждать загрузки некоторых словарей).
Если wait_dictionaries_load_at_startup
равно true
, то сервер будет ждать при запуске
пока все словари не завершат свою загрузку (успешно или нет) перед тем, как принять какие-либо соединения.
Пример
workload_path
Директория, используемая в качестве хранилища для всех запросов CREATE WORKLOAD
и CREATE RESOURCE
. По умолчанию используется папка /workload/
в рабочей директории сервера.
Пример
Смотрите также
workload_zookeeper_path
Путь к узлу ZooKeeper, который используется в качестве хранилища для всех запросов CREATE WORKLOAD
и CREATE RESOURCE
. Для согласованности все SQL определения хранятся в качестве значения этого единственного znode. По умолчанию ZooKeeper не используется, и определения хранятся на диске.
Пример
Смотрите также
zookeeper
Содержит настройки, которые позволяют ClickHouse взаимодействовать с кластером ZooKeeper. ClickHouse использует ZooKeeper для хранения метаданных реплик при использовании реплицированных таблиц. Если реплицированные таблицы не используются, этот раздел параметров можно опустить.
Следующие настройки могут быть настроены с помощью подметок:
Настройка | Описание |
---|---|
node | Конечная точка ZooKeeper. Вы можете установить несколько конечных точек. Например, <node index="1"><host>example_host</host><port>2181</port></node> . Атрибут index указывает порядок узлов при попытке подключиться к кластеру ZooKeeper. |
session_timeout_ms | Maximum timeout for the client session in milliseconds. |
operation_timeout_ms | Maximum timeout for one operation in milliseconds. |
root (опционально) | Znode, который используется в качестве корня для znodes, используемых сервером ClickHouse. |
fallback_session_lifetime.min (опционально) | Минимальный предел для продолжительности сессии zookeeper для резервного узла, когда основной недоступен (балансировка нагрузки). Установка в секундах. По умолчанию: 3 часа. |
fallback_session_lifetime.max (опционально) | Максимальный предел для продолжительности сессии zookeeper для резервного узла, когда основной недоступен (балансировка нагрузки). Установка в секундах. По умолчанию: 6 часов. |
identity (опционально) | Имя пользователя и пароль, требуемые ZooKeeper для доступа к запрашиваемым znodes. |
use_compression (опционально) | Включает сжатие в протоколе Keeper, если установлено в true. |
Также существует настройка zookeeper_load_balancing
(опционально), которая позволяет выбрать алгоритм выбора узла ZooKeeper:
Название Алгоритма | Описание |
---|---|
random | случайным образом выбирает один из узлов ZooKeeper. |
in_order | выбирает первый узел ZooKeeper, если он недоступен, то второй и так далее. |
nearest_hostname | выбирает узел ZooKeeper с именем хоста, наиболее похожим на имя хоста сервера, имя хоста сравнивается с префиксом имени. |
hostname_levenshtein_distance | как nearest_hostname, но сравнивает имя хоста с учетом расстояния Левенштейна. |
first_or_random | выбирает первый узел ZooKeeper, если он недоступен, то случайным образом выбирает один из оставшихся узлов ZooKeeper. |
round_robin | выбирает первый узел ZooKeeper, если происходит повторное подключение, выбирает следующий. |
Пример конфигурации
Смотрите также