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

Настройки сервера

В этом разделе содержатся описания настроек сервера. Эти настройки не могут быть изменены на уровне сессии или запроса.

Для получения дополнительной информации о файлах конфигурации в ClickHouse смотрите ""Файлы конфигурации"".

Другие настройки описаны в разделе ""Настройки"". Перед изучением настроек рекомендуется ознакомиться с разделом Файлы конфигурации и обратить внимание на использование подстановок (атрибуты incl и optional).

access_control_improvements

Настройки для несущественных улучшений в системе контроля доступа.

НастройкаОписаниеЗначение по умолчанию
users_without_row_policies_can_read_rowsУстанавливает, могут ли пользователи без разрешающих политик на уровне строк все равно читать строки с помощью запроса SELECT. Например, если есть два пользователя А и Б, и политика строк определена только для А, тогда если эта настройка истинна, пользователь Б увидит все строки. Если эта настройка ложна, пользователь Б не увидит никаких строк.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> так же, как и для не_system таблиц. Исключения: несколько системных таблиц (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
role_cache_expiration_time_secondsУстанавливает количество секунд с момента последнего доступа, в течение которых роль хранится в кэше ролей.600

Пример:

access_control_path

Путь к папке, где сервер ClickHouse хранит конфигурации пользователей и ролей, созданные с помощью SQL-команд.

См. также

aggregate_function_group_array_action_when_limit_is_reached

Действие, выполняемое, когда максимальный размер элемента массива превышен в groupArray: throw исключение или discard дополнительные значения.

aggregate_function_group_array_max_element_size

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

allow_feature_tier

Управляет, может ли пользователь изменять настройки, относящиеся к различным уровням функций.

  • 0 - Изменения любой настройки разрешены (экспериментальные, бета, производственные).
  • 1 - Разрешены только изменения настроек бета и производственных функций. Изменения экспериментальных настроек отклоняются.
  • 2 - Разрешены только изменения производственных настроек. Изменения экспериментальных или бета-настроек отклоняются.

Это эквивалентно установке ограничения только для чтения на все функции EXPERIMENTAL / BETA.

примечание

Значение 0 означает, что все настройки могут быть изменены.

allow_implicit_no_password

Запрещает создание пользователя без пароля, если не указано явно 'IDENTIFIED WITH no_password'.

allow_no_password

Устанавливает, разрешен ли небезопасный тип пароля no_password.

allow_plaintext_password

Устанавливает, разрешены ли небезопасные типы паролей в открытом виде.

allow_use_jemalloc_memory

Разрешает использование памяти jemalloc.

async_insert_queue_flush_on_shutdown

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

async_insert_threads

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

async_load_databases

Асинхронная загрузка баз данных и таблиц.

  • Если 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

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

Период в секундах для обновления тяжелых асинхронных метрик.

asynchronous_insert_log

Настройки для системной таблицы asynchronous_insert_log для логирования асинхронных вставок.

The following settings can be configured by sub-tags:

SettingDescriptionDefaultNote
databaseName of the database.
tableName of the system table.
engineMergeTree 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_byCustom partitioning key for a system table.If engine is specified for system table, partition_by parameter should be specified directly inside 'engine'
ttlSpecifies the table TTL.If engine is specified for system table, ttl parameter should be specified directly inside 'engine'
order_byCustom 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_policyName 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'
settingsAdditional 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_millisecondsInterval for flushing data from the buffer in memory to the table.7500
max_size_rowsMaximal 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_rowsPre-allocated memory size in lines for the logs.8192
buffer_size_rows_flush_thresholdThreshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background.max_size_rows / 2
flush_on_crashSets 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:

SettingDescriptionDefaultNote
databaseName of the database.
tableName of the system table.
engineMergeTree 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_byCustom partitioning key for a system table.If engine is specified for system table, partition_by parameter should be specified directly inside 'engine'
ttlSpecifies the table TTL.If engine is specified for system table, ttl parameter should be specified directly inside 'engine'
order_byCustom 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_policyName 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'
settingsAdditional 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_millisecondsInterval for flushing data from the buffer in memory to the table.7500
max_size_rowsMaximal 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_rowsPre-allocated memory size in lines for the logs.8192
buffer_size_rows_flush_thresholdThreshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background.max_size_rows / 2
flush_on_crashSets whether logs should be dumped to the disk in case of a crash.false

asynchronous_metrics_enable_heavy_metrics

Включает расчет тяжелых асинхронных метрик.

asynchronous_metrics_update_period_s

Период в секундах для обновления асинхронных метрик.

auth_use_forwarded_address

Использовать исходящий адрес для аутентификации клиентов, подключенных через прокси.

примечание

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

background_buffer_flush_schedule_pool_size

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

background_common_pool_size

Максимальное количество потоков, которые будут использоваться для выполнения различных операций (в основном сборка мусора) для таблиц с *MergeTree-движком в фоновом режиме.

background_distributed_schedule_pool_size

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

background_fetches_pool_size

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

background_merges_mutations_concurrency_ratio

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

Например, если соотношение равно 2, а background_pool_size установлено в 16, то ClickHouse может выполнять 32 фоновых слияния одновременно. Это возможно, потому что фоновые операции могут приостанавливаться и откладываться. Это необходимо, чтобы дать небольшим слияниям больше приоритета в выполнении.

примечание

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

Как и настройка background_pool_size, background_merges_mutations_concurrency_ratio может применяться из профиля default для обратной совместимости.

background_merges_mutations_scheduling_policy

Политика планирования фоновых слияний и мутаций. Возможные значения: round_robin и shortest_task_first.

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

Возможные значения:

  • round_robin — Каждое concurrent слияние и мутация выполняются в порядке очереди, чтобы обеспечить бесперебойную работу. Меньшие слияния завершаются быстрее, чем большие, просто потому, что у них меньше блоков для слияния.
  • shortest_task_first — Всегда выполняйте меньшее слияние или мутацию. Слияния и мутации получают приоритеты на основе их итогового размера. Слияния с меньшими размерами строго предпочтительнее больших. Эта политика обеспечивает максимально быстрое слияние мелких частей, но может привести к неопределенной задержке больших слияний в секциях, перегруженных INSERT.

background_message_broker_schedule_pool_size

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

background_move_pool_size

Максимальное количество потоков, которые будут использоваться для перемещения частей данных на другой диск или объем для таблиц с *MergeTree-движком в фоновом режиме.

background_pool_size

Устанавливает количество потоков, выполняющих фоновое слияние и мутации для таблиц с движками MergeTree.

примечание
  • Эта настройка также может применяться при запуске сервера из конфигурации профиля default для обратной совместимости при запуске сервера ClickHouse.
  • Вы можете увеличивать количество потоков только во время работы.
  • Чтобы уменьшить количество потоков, необходимо перезапустить сервер.
  • Настраивая эту настройку, вы управляете загрузкой CPU и диска.
осторожно

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

Перед изменением обратите внимание на связанные настройки MergeTree, такие как:

Пример

background_schedule_pool_size

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

backup_log

Настройки для системной таблицы backup_log для логирования операций BACKUP и RESTORE.

The following settings can be configured by sub-tags:

SettingDescriptionDefaultNote
databaseName of the database.
tableName of the system table.
engineMergeTree 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_byCustom partitioning key for a system table.If engine is specified for system table, partition_by parameter should be specified directly inside 'engine'
ttlSpecifies the table TTL.If engine is specified for system table, ttl parameter should be specified directly inside 'engine'
order_byCustom 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_policyName 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'
settingsAdditional 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_millisecondsInterval for flushing data from the buffer in memory to the table.7500
max_size_rowsMaximal 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_rowsPre-allocated memory size in lines for the logs.8192
buffer_size_rows_flush_thresholdThreshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background.max_size_rows / 2
flush_on_crashSets whether logs should be dumped to the disk in case of a crash.false

Пример

backup_threads

Максимальное количество потоков для выполнения запросов BACKUP.

backups

Настройки для резервных копий, используемых при записи BACKUP TO File().

Следующие настройки могут быть настроены через подпараметры:

НастройкаОписаниеЗначение по умолчанию
allowed_pathПуть к резервной копии при использовании File(). Эта настройка должна быть установлена, чтобы использовать File. Путь может быть относительным к директории экземпляра или абсолютным.true
remove_backup_files_after_failureЕсли команда BACKUP не удается, ClickHouse попытается удалить файлы, которые были ранее скопированы в резервную копию до сбоя, в противном случае оставит скопированные файлы без изменений.true

Эта настройка по умолчанию настраивается следующим образом:

backups_io_thread_pool_queue_size

Максимальное количество задач, которые могут быть запланированы в пуле потоков ввода-вывода резервных копий. Рекомендуется сохранять эту очередь неограниченной из-за текущей логики резервного копирования S3.

примечание

Значение 0 (по умолчанию) означает без ограничений.

bcrypt_workfactor

Рабочий коэффициент для типа аутентификации bcrypt_password, который использует алгоритм Bcrypt.

blog_storage_log

Настройки для системной таблицы blob_storage_log.

The following settings can be configured by sub-tags:

SettingDescriptionDefaultNote
databaseName of the database.
tableName of the system table.
engineMergeTree 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_byCustom partitioning key for a system table.If engine is specified for system table, partition_by parameter should be specified directly inside 'engine'
ttlSpecifies the table TTL.If engine is specified for system table, ttl parameter should be specified directly inside 'engine'
order_byCustom 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_policyName 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'
settingsAdditional 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_millisecondsInterval for flushing data from the buffer in memory to the table.7500
max_size_rowsMaximal 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_rowsPre-allocated memory size in lines for the logs.8192
buffer_size_rows_flush_thresholdThreshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background.max_size_rows / 2
flush_on_crashSets 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

Устанавливает максимальное соотношение размера кэша к памяти RAM. Позволяет уменьшить размер кэша на системах с низким объемом памяти.

cannot_allocate_thread_fault_injection_probability

Для тестирования.

cgroup_memory_watcher_hard_limit_ratio

Указывает "жесткий" предел потребления памяти процесса сервера в соответствии с cgroups, после которого предельное значение максимального потребления памяти сервера настраивается на значение порога.

Смотрите настройки:

cgroup_memory_watcher_soft_limit_ratio

Указывает "мягкий" предел потребления памяти процесса сервера в соответствии с cgroups, после которого арены в jemalloc очищаются.

Смотрите настройки:

cgroups_memory_usage_observer_wait_time

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

Чтобы отключить наблюдатель cgroup, установите это значение в 0.

см. настройки:

compiled_expression_cache_elements_size

Устанавливает размер кэша (в элементах) для собранных выражений.

compiled_expression_cache_size

Устанавливает размер кэша (в байтах) для собранных выражений.

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

Политика, как выполнять планирование CPU-слотов, указанных concurrent_threads_soft_limit_num и concurrent_threads_soft_limit_ratio_to_cores. Алгоритм, используемый для регулирования того, как ограниченное количество CPU-слотов распределяется между concurrent-запросами. Планировщик может быть изменен во время работы без перезапуска сервера.

Возможные значения:

  • 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, которая не требует CPU-слота для первого потока каждого запроса. Таким образом, запросы с max_threads = 1 не требуют слотов и не могут нечестно выделить все слоты. Слоты не выделяются без условий.

concurrent_threads_soft_limit_num

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

примечание

Значение 0 (по умолчанию) означает неограниченно.

concurrent_threads_soft_limit_ratio_to_cores

Аналогично concurrent_threads_soft_limit_num, но с учетом соотношения к ядрам.

config_reload_interval_ms

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

core_dump

Настраивает мягкий лимит для размера файла дампа ядра.

примечание

Жесткий лимит настраивается с помощью системных инструментов.

Пример

crash_log

Настройки для операции системной таблицы crash_log.

The following settings can be configured by sub-tags:

SettingDescriptionDefaultNote
databaseName of the database.
tableName of the system table.
engineMergeTree 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_byCustom partitioning key for a system table.If engine is specified for system table, partition_by parameter should be specified directly inside 'engine'
ttlSpecifies the table TTL.If engine is specified for system table, ttl parameter should be specified directly inside 'engine'
order_byCustom 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_policyName 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'
settingsAdditional 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_millisecondsInterval for flushing data from the buffer in memory to the table.7500
max_size_rowsMaximal 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_rowsPre-allocated memory size in lines for the logs.8192
buffer_size_rows_flush_thresholdThreshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background.max_size_rows / 2
flush_on_crashSets 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

Задержка, в течение которой удалённая таблица может быть восстановлена с помощью оператора UNDROP. Если DROP TABLE выполнен с модификатором SYNC, эта настройка игнорируется. По умолчанию это значение равно 480 (8 минут).

database_catalog_drop_error_cooldown_sec

В случае неудачного удаления таблицы ClickHouse будет ожидать это время перед повторной попыткой операции.

database_catalog_drop_table_concurrency

Размер пула потоков, используемого для удаления таблиц.

database_catalog_unused_dir_cleanup_period_sec

Параметр задачи, очищающей мусор из каталога store/. Устанавливает период планирования задачи.

примечание

Значение 0 означает "никогда". Значение по умолчанию соответствует 1 дню.

database_catalog_unused_dir_hide_timeout_sec

Параметр задачи, очищающей мусор из каталога store/. Если какая-либо подсDIRECToria не используется clickhouse-server и этот каталог не был изменен в течение последних database_catalog_unused_dir_hide_timeout_sec секунд, задача "скроет" этот каталог, удаляя все права доступа. Это также работает для каталогов, которые clickhouse-server не ожидает увидеть внутри store/.

примечание

Значение 0 означает "немедленно".

database_catalog_unused_dir_rm_timeout_sec

Параметр задачи, очищающей мусор из каталога store/. Если какая-либо подсDIRECToria не используется clickhouse-server и она была ранее "скрыта" (см. database_catalog_unused_dir_hide_timeout_sec) и этот каталог не был изменен в течение последних database_catalog_unused_dir_rm_timeout_sec секунд, задача удалит этот каталог. Это также работает для каталогов, которые clickhouse-server не ожидает увидеть внутри store/.

примечание

Значение 0 означает "никогда". Значение по умолчанию соответствует 30 дням.

database_replicated_allow_detach_permanently

Разрешить постоянное отсоединение таблиц в реплицированных базах данных.

default_database

Имя базы данных по умолчанию.

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

Имя реплики в ZooKeeper.

Пример

default_replica_path

Путь к таблице в ZooKeeper.

Пример

default_session_timeout

Истекший таймаут сессии по умолчанию, в секундах.

dictionaries_config

Путь к файлу конфигурации для словарей.

Путь:

  • Укажите абсолютный путь или путь относительно файла конфигурации сервера.
  • Путь может содержать подстановочные символы * и ?.

Смотрите также:

Пример

dictionaries_lazy_load

Ленивая загрузка словарей.

  • Если true, то каждый словарь загружается при первом использовании. Если загрузка завершилась неудачей, функция, использующая словарь, вызывает исключение.
  • Если false, то сервер загружает все словари при запуске.
примечание

Сервер будет ожидать на старте, пока все словари завершат свою загрузку, прежде чем принимать любые подключения (исключение: если wait_dictionaries_load_at_startup установлено в false).

Пример

dictionary_background_reconnect_interval

Интервал в миллисекундах для попыток повторного подключения к неудавшимся словарям MySQL и Postgres, у которых включен background_reconnect.

disable_insertion_and_mutation

Отключить все запросы вставки/изменения/удаления. Эта настройка будет включена, если кому-то нужны узлы только для чтения, чтобы предотвратить влияние вставок и мутаций на производительность чтения.

disable_internal_dns_cache

Отключает внутренний кэш 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

Подключения выше этого лимита имеют значительно более короткое время жизни. Лимит применяется к подключениям дисков.

disk_connections_store_limit

Подключения выше этого лимита сбрасываются после использования. Установите в 0, чтобы отключить кэш подключения. Лимит применяется к подключениям дисков.

disk_connections_warn_limit

Предупреждения записываются в журналы, если количество используемых подключений превышает этот лимит. Лимит применяется к подключениям дисков.

display_secrets_in_show_and_select

Включает или отключает отображение секретов в запросах SHOW и SELECT для таблиц, баз данных, табличных функций и словарей.

Пользователь, желающий видеть секреты, также должен иметь format_display_secrets_in_show_and_select формат настройка включенной и привилегию displaySecretsInShowAndSelect.

Возможные значения:

  • 0 — Отключено.
  • 1 — Включено.

distributed_cache_keep_up_free_connections_ratio

Мягкий лимит для числа активных подключений, которые распределенный кэш постарается сохранить свободными. Когда количество свободных подключений падает ниже distributed_cache_keep_up_free_connections_ratio * max_connections, подключения с самой старой активностью будут закрыты, пока количество не превысит лимит.

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

Разрешает разрешение имен в IPv4 адреса.

dns_allow_resolve_names_to_ipv6

Разрешает разрешение имен в IPv6 адреса.

dns_cache_max_entries

Максимальное количество записей в внутреннем кэше DNS.

dns_cache_update_period

Период обновления внутреннего кэша DNS в секундах.

dns_max_consecutive_failures

Максимальное количество неудач разрешения DNS имени хоста перед его удалением из кэша DNS ClickHouse.

enable_azure_sdk_logging

Включает логирование из 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:

SettingDescriptionDefaultNote
databaseName of the database.
tableName of the system table.
engineMergeTree 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_byCustom partitioning key for a system table.If engine is specified for system table, partition_by parameter should be specified directly inside 'engine'
ttlSpecifies the table TTL.If engine is specified for system table, ttl parameter should be specified directly inside 'engine'
order_byCustom 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_policyName 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'
settingsAdditional 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_millisecondsInterval for flushing data from the buffer in memory to the table.7500
max_size_rowsMaximal 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_rowsPre-allocated memory size in lines for the logs.8192
buffer_size_rows_flush_thresholdThreshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background.max_size_rows / 2
flush_on_crashSets whether logs should be dumped to the disk in case of a crash.false

format_schema_path

Путь к каталогу со схемами для входящих данных, например, схемы для формата CapnProto.

Пример

global_profiler_cpu_time_period_ns

Период для таймера процессора глобального профайлера (в наносекундах). Установите значение 0, чтобы отключить глобальный профилировщик по времени процессора. Рекомендуемое значение — не менее 10000000 (100 раз в секунду) для единичных запросов или 1000000000 (один раз в секунду) для кластерного профилирования.

global_profiler_real_time_period_ns

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

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

http_connections_store_limit

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

http_connections_warn_limit

Предупреждения записываются в журналы, если количество используемых подключений превышает этот лимит. Лимит применяется к 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Используйте с типом static, код статуса ответа
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

Размер фона пула для каталога iceberg.

iceberg_catalog_threadpool_queue_size

Количество задач, которые можно добавить в пул каталога iceberg.

iceberg_metadata_files_cache_max_entries

Максимальный размер кэша файлов метаданных iceberg в записях. Ноль означает отключение.

политика_кэша_файлов_метаданных_айсберга

Имя политики кэша метаданных айсберга.

размер_кэша_файлов_метаданных_айсберга

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

отношение_размера_кэша_файлов_метаданных_айсберга

Размер защищенной очереди (в случае политики SLRU) в кэше метаданных айсберга относительно общего размера кэша.

игнорировать_пустой_sql_безопасность_в_запросе_create_view

Если истинно, ClickHouse не пишет значения по умолчанию для пустого SQL-заявления безопасности в запросах CREATE VIEW.

примечание

Эта настройка необходима только в миграционный период и станет устаревшей в 24.4

include_from

Путь к файлу с заменами. Поддерживаются форматы XML и YAML.

Для получения дополнительной информации см. раздел "Конфигурационные файлы".

Пример

политика_кэша_меток_индекса

Имя политики кэша меток вторичного индекса.

размер_кэша_меток_индекса

Максимальный размер кэша для меток индекса.

примечание

Значение 0 означает отключение.

Эту настройку можно изменять во время выполнения, и она вступит в силу немедленно.

отношение_размера_кэша_меток_индекса

Размер защищенной очереди (в случае политики SLRU) в кэше меток вторичного индекса относительно общего размера кэша.

политика_некорректированного_кэша_индекса

Имя политики некорректированного кэша вторичного индекса.

размер_некорректированного_кэша_индекса

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

примечание

Значение 0 означает отключение.

Эту настройку можно изменять во время выполнения, и она вступит в силу немедленно.

отношение_размера_некорректированного_кэша_индекса

Размер защищенной очереди (в случае политики SLRU) в некорректированном кэше вторичного индекса относительно общего размера кэша.

межсерверные_http_учетные_данные

Имя пользователя и пароль, используемые для подключения к другим серверам во время репликации. Кроме того, сервер аутентифицирует другие реплики, используя эти учетные данные. 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 новыми значениями. В этот момент сервер использует новые учетные данные для подключения к другим репликам и принимает подключения как с новыми, так и старыми учетными данными.

Когда новые учетные данные применены ко всем репликам, старые учетные данные могут быть удалены.

межсерверный_http_хост

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

Если опущено, оно определяется так же, как команда hostname -f.

Полезно для отказа от конкретного сетевого интерфейса.

Пример

межсерверный_http_порт

Порт для обмена данными между серверами ClickHouse.

Пример

межсерверный_https_хост

Аналогично interserver_http_host, за исключением того, что этот имя хоста может использоваться другими серверами для доступа к этому серверу через HTTPS.

Пример

межсерверный_https_порт

Порт для обмена данными между серверами ClickHouse через HTTPS.

Пример

межсерверный_слушающий_хост

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

примечание

По умолчанию значение равно настройке listen_host.

Пример

Тип:

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

размер_очереди_пулов_потоков_io

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

примечание

Значение 0 означает неограниченное количество.

таймаут_keep_alive

Количество секунд, в течение которых ClickHouse ждет входящих запросов для протокола HTTP перед закрытием соединения.

Пример

размер_пакета_multiRead_для_keeper

Максимальный размер пакета для MultiRead запроса к [Zoo]Keeper, который поддерживает пакетирование. Если установлен в 0, пакетирование отключено. Доступно только в ClickHouse Cloud.

журнал_задержки

По умолчанию отключен.

Включение

Чтобы вручную включить сбор истории задержки, создайте /etc/clickhouse-server/config.d/latency_log.xml со следующим содержимым:

Отключение

Чтобы отключить настройку latency_log, создайте следующий файл /etc/clickhouse-server/config.d/disable_latency_log.xml со следующим содержимым:

ldap_сервера

Список серверов 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 пользователя для дальнейшего отображения ролей):

лицензия

Ключ лицензии для ClickHouse Enterprise Edition.

очередь_слушания

Очередь (размер очереди ожидающих соединений) сокета прослушивания. Значение по умолчанию 4096 такое же, как у Linux 5.4+).

Обычно это значение не нужно изменять, так как:

  • Значение по умолчанию достаточно велико,
  • Для приема соединений клиентов сервер имеет отдельный поток.

Поэтому, даже если у вас TcpExtListenOverflows (из nstat) ненульевое и этот счетчик растет для сервера ClickHouse, это не означает, что значение нужно увеличить, так как:

  • Обычно, если 4096 недостаточно, это указывает на какую-то внутреннюю проблему масштабирования ClickHouse, и лучше сообщить о проблеме.
  • Это не означает, что сервер может обработать больше соединений позже (и даже если бы мог, к тому времени клиенты могли бы исчезнуть или отключиться).

Пример

слушающий_хост

Ограничение на хосты, с которых могут поступать запросы. Если вы хотите, чтобы сервер отвечал на все запросы, укажите ::.

Примеры:

разрешить_повторное_использование_слушающих_портов

Разрешить нескольким серверам прослушивать один и тот же адрес:порт. Запросы будут направляться на случайный сервер операционной системой. Включение этой настройки не рекомендуется.

Пример

Тип:

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

попытка_прослушивания

Сервер не завершит работу, если сети IPv6 или IPv4 недоступны во время попытки прослушивания.

Пример

размер_пула_потоков_для_загрузки_меток

Размер фона пула для загрузки меток.

размер_очереди_потоков_для_загрузки_меток

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

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Год в десятичном формате, например 20172023
%yПоследние 2 цифры года в десятичном формате (диапазон [00,99])23
%CПервые 2 цифры года в десятичном формате (диапазон [00,99])20
%GЧетырехзначный год на основе недели ISO 8601, т.е. год, содержащий указанную неделю. Обычно полезно только с %V2023
%gПоследние 2 цифры года на основе недели ISO 8601, т.е. год, содержащий указанную неделю.23
%bСокращенное название месяца, например Oct (в зависимости от локали)Jul
%hСиноним %bJul
%BПолное название месяца, например October (в зависимости от локали)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]). Однозначный номер предшествует пробелу.&nbsp; 6
%aСокращенное название дня недели, например Fri (в зависимости от локали)Thu
%AПолное название дня недели, например Friday (в зависимости от локали)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Стандартная строка даты и времени, например Sun Oct 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/%y07/06/23
%FКраткая дата в формате YYYY-MM-DD, эквивалентная %Y-%m-%d2023-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Ключевое слово фасилити 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

Имя политики кэширования меток.

mark_cache_prewarm_ratio

Соотношение общего размера кэша меток, который нужно заполнить во время предварительного прогрева.

mark_cache_size

Максимальный размер кэша для меток (индекс MergeTree семейства таблиц).

примечание

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

mark_cache_size_ratio

Размер защищенной очереди (в случае политики SLRU) в кэше меток относительно общего размера кэша.

max_active_parts_loading_thread_pool_size

Количество потоков для загрузки активного набора частей данных (активных) при запуске.

max_authentication_methods_per_user

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

примечание

Значение 0 означает неограниченное количество.

max_backup_bandwidth_for_server

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

max_backups_io_thread_pool_free_size

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

max_backups_io_thread_pool_size

ClickHouse использует потоки из пула потоков для резервных копий для выполнения операций ввода-вывода S3. max_backups_io_thread_pool_size ограничивает максимальное количество потоков в пуле.

max_build_vector_similarity_index_thread_pool_size

Максимальное количество потоков, которые можно использовать для построения векторных индексов.

примечание

Значение 0 означает использование всех ядер.

max_concurrent_insert_queries

Лимит на общее количество одновременно выполняемых запросов на вставку.

примечание

Значение 0 (по умолчанию) означает неограниченное количество.

Эта настройка может быть изменена во время работы и вступит в силу немедленно. Запросы, которые уже выполняются, останутся без изменений.

max_concurrent_queries

Лимит на общее количество одновременно выполняемых запросов. Обратите внимание, что также нужно учитывать пределы на INSERT и SELECT запросы, а также на максимальное количество запросов для пользователей.

Смотрите также:

примечание

Значение 0 (по умолчанию) означает неограниченное количество.

Эта настройка может быть изменена во время работы и вступит в силу немедленно. Запросы, которые уже выполняются, останутся без изменений.

max_concurrent_select_queries

Лимит на общее количество одновременно выполняемых запросов на выборку.

примечание

Значение 0 (по умолчанию) означает неограниченное количество.

Эта настройка может быть изменена во время работы и вступит в силу немедленно. Запросы, которые уже выполняются, останутся без изменений.

max_connections

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

max_database_num_to_throw

Если количество баз данных превышает это значение, сервер вызовет исключение. 0 означает отсутствие ограничений.

max_database_num_to_warn

Если количество подключенных баз данных превышает указанное значение, сервер ClickHouse добавит предупреждающие сообщения в таблицу system.warnings.

Пример

max_database_replicated_create_table_thread_pool_size

Количество потоков для создания таблиц во время восстановления реплики в DatabaseReplicated. Ноль означает, что количество потоков равно количеству ядер.

max_dictionary_num_to_throw

Если количество словарей превышает это значение, сервер вызовет исключение.

Учитываются только таблицы для движков баз данных:

  • Атомарные
  • Обычные
  • Реплицированные
  • Ленивые
примечание

Значение 0 означает отсутствие ограничений.

Пример

max_dictionary_num_to_warn

Если количество подключенных словарей превышает указанное значение, сервер ClickHouse добавит предупреждающие сообщения в таблицу system.warnings.

Пример

max_entries_for_hash_table_stats

Сколько записей статистики хеш-таблицы, собранной во время агрегации, разрешено иметь.

max_fetch_partition_thread_pool_size

Количество потоков для ALTER TABLE FETCH PARTITION.

max_io_thread_pool_free_size

Если количество бездействующих потоков в пуле потоков ввода-вывода превышает max_io_thread_pool_free_size, ClickHouse освободит ресурсы, занимаемые неактивными потоками, и уменьшит размер пула. Потоки могут быть созданы повторно, если необходимо.

max_io_thread_pool_size

ClickHouse использует потоки из пула потоков ввода-вывода для выполнения некоторых операций ввода-вывода (например, для взаимодействия с S3). max_io_thread_pool_size ограничивает максимальное количество потоков в пуле.

max_keep_alive_requests

Максимальное количество запросов через одно соединение с поддержкой keep-alive до его закрытия сервером ClickHouse.

Пример

max_local_read_bandwidth_for_server

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

примечание

Значение 0 означает неограниченное количество.

max_local_write_bandwidth_for_server

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

примечание

Значение 0 означает неограниченное количество.

max_materialized_views_count_for_table

Ограничение на количество материализованных представлений, прикрепленных к таблице.

примечание

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

max_merges_bandwidth_for_server

Максимальная скорость чтения всех слияний на сервере в байтах в секунду. Ноль означает неограниченное количество.

max_mutations_bandwidth_for_server

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

max_open_files

Максимальное количество открытых файлов.

примечание

Рекомендуем использовать эту опцию в macOS, так как функция getrlimit() возвращает некорректное значение.

Пример

max_os_cpu_wait_time_ratio_to_drop_connection

Максимальное соотношение между временем ожидания CPU ОС (метрика OSCPUWaitMicroseconds) и занятым временем (метрика OSCPUVirtualTimeMicroseconds), чтобы рассмотреть возможность сброса соединений. Линейная интерполяция между минимальным и максимальным соотношением используется для расчета вероятности, при этом вероятность 1 в данной точке.

max_outdated_parts_loading_thread_pool_size

Количество потоков для загрузки неактивного набора частей данных (устаревших) при запуске.

max_part_num_to_warn

Если количество активных частей превышает указанное значение, сервер ClickHouse добавит предупреждающие сообщения в таблицу system.warnings.

Пример

max_partition_size_to_drop

Ограничение на удаление партиций.

Если размер таблицы 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

Количество потоков для одновременного удаления неактивных частей данных.

max_pending_mutations_execution_time_to_warn

Если любое из ожидающих мутаций превышает указанное значение в секундах, сервер ClickHouse добавит предупреждающие сообщения в таблицу system.warnings.

Пример

max_pending_mutations_to_warn

Если количество ожидающих мутаций превышает указанное значение, сервер ClickHouse добавит предупреждающие сообщения в таблицу system.warnings.

Пример

max_prefixes_deserialization_thread_pool_free_size

Если количество бездействующих потоков в пуле потоков десериализации префиксов превышает max_prefixes_deserialization_thread_pool_free_size, ClickHouse освободит ресурсы, занимаемые неактивными потоками, и уменьшит размер пула. Потоки могут быть созданы повторно, если необходимо.

max_prefixes_deserialization_thread_pool_size

ClickHouse использует потоки из пула потоков десериализации префиксов для параллельного чтения метаданных колонок и подсегментов из префиксов файлов в широких частях в MergeTree. max_prefixes_deserialization_thread_pool_size ограничивает максимальное количество потоков в пуле.

max_remote_read_network_bandwidth_for_server

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

примечание

Значение 0 (по умолчанию) означает неограниченное количество.

max_remote_write_network_bandwidth_for_server

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

примечание

Значение 0 (по умолчанию) означает неограниченное количество.

max_replicated_fetches_network_bandwidth_for_server

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

max_replicated_sends_network_bandwidth_for_server

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

max_replicated_table_num_to_throw

Если количество реплицированных таблиц превышает это значение, сервер вызовет исключение.

Учитываются только таблицы для движков баз данных:

  • Атомарные
  • Обычные
  • Реплицированные
  • Ленивые
примечание

Значение 0 означает отсутствие ограничений.

Пример

max_server_memory_usage

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

примечание

Максимальное потребление памяти сервером дополнительно ограничивается установкой max_server_memory_usage_to_ram_ratio.

В качестве особого случая значение 0 (по умолчанию) означает, что сервер может потреблять всю доступную память (исключая другие ограничения, налагаемые max_server_memory_usage_to_ram_ratio).

max_server_memory_usage_to_ram_ratio

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

Например, значение 0.9 (по умолчанию) означает, что сервер может потреблять 90% доступной памяти.

Позволяет снизить потребление памяти на системах с ограниченной памятью. На хостах с низким объемом ОЗУ и свопа вы, возможно, должны будете привязать значение max_server_memory_usage_to_ram_ratio больше 1.

примечание

Максимальное потребление памяти сервером дополнительно ограничивается установкой max_server_memory_usage.

max_session_timeout

Максимальный тайм-аут сессии, в секундах.

Пример:

max_table_num_to_throw

Если количество таблиц превышает это значение, сервер вызовет исключение.

Следующие таблицы не учитываются:

  • view
  • remote
  • dictionary
  • system

Учитываются только таблицы для движков баз данных:

  • Atomic
  • Ordinary
  • Replicated
  • Lazy
примечание

Значение 0 означает отсутствие ограничений.

Пример

max_table_num_to_warn

Если количество подключенных таблиц превышает указанное значение, сервер ClickHouse добавит сообщения о предупреждении в таблицу system.warnings.

Пример

max_table_size_to_drop

Ограничение на удаление таблиц.

Если размер таблицы MergeTree превышает max_table_size_to_drop (в байтах), вы не сможете удалить ее с помощью запроса DROP или TRUNCATE.

примечание

Значение 0 означает, что вы можете удалять все таблицы без ограничений.

Эта настройка не требует перезагрузки сервера ClickHouse для применения. Другой способ отключить ограничение - создать файл <clickhouse-path>/flags/force_drop_table.

Пример

max_temporary_data_on_disk_size

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

примечание

Значение 0 означает отсутствие ограничений.

Смотрите также:

max_thread_pool_free_size

Если количество простых потоков в глобальном пуле потоков превышает max_thread_pool_free_size, то ClickHouse освободит ресурсы, занимаемые некоторыми потоками, и размер пула уменьшится. Потоки могут быть созданы снова при необходимости.

Пример

max_thread_pool_size

ClickHouse использует потоки из глобального пула потоков для обработки запросов. Если нет свободного потока для обработки запроса, то в пуле создается новый поток. max_thread_pool_size ограничивает максимальное количество потоков в пуле.

Пример

max_unexpected_parts_loading_thread_pool_size

Количество потоков для загрузки неактивного набора частей данных (неожиданных) при запуске.

max_view_num_to_throw

Если количество представлений превышает это значение, сервер вызовет исключение.

Учитываются только таблицы для движков баз данных:

  • Atomic
  • Ordinary
  • Replicated
  • Lazy
примечание

Значение 0 означает отсутствие ограничений.

Пример

max_view_num_to_warn

Если количество подключенных представлений превышает указанное значение, сервер ClickHouse добавит сообщения о предупреждении в таблицу system.warnings.

Пример

max_waiting_queries

Лимит на общее количество одновременно ожидающих запросов. Выполнение ожидающего запроса блокируется, пока требуемые таблицы загружаются асинхронно (см. async_load_databases.

примечание

Ожидающие запросы не учитываются при проверке лимитов, контролируемых следующими настройками:

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

примечание

Значение 0 (по умолчанию) означает отсутствие ограничений.

Эту настройку можно изменить во время выполнения, она вступит в силу немедленно. Запросы, которые уже выполняются, останутся без изменений.

memory_worker_correct_memory_tracker

Должен ли фоновый рабочий процесс памяти корректировать внутренний отслеживатель памяти на основе информации из внешних источников, таких как jemalloc и cgroups

memory_worker_period_ms

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

memory_worker_use_cgroup

Использовать текущую информацию о использовании памяти cgroup для корректировки отслеживания памяти.

merge_tree

Тонкая настройка для таблиц в MergeTree.

Для получения дополнительной информации смотрите файл заголовка MergeTreeSettings.h.

Пример

merge_workload

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

Смотрите также

merges_mutations_memory_usage_soft_limit

Устанавливает предел на количество ОЗУ, которое разрешено использовать для выполнения операций слияния и мутации. Если ClickHouse достигнет установленного предела, он не будет планировать новые фоновые операции слияния или мутации, но продолжит выполнять уже запланированные задачи.

примечание

Значение 0 означает отсутствие ограничений.

Пример

merges_mutations_memory_usage_to_ram_ratio

Значение по умолчанию для 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:

SettingDescriptionDefaultNote
databaseName of the database.
tableName of the system table.
engineMergeTree 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_byCustom partitioning key for a system table.If engine is specified for system table, partition_by parameter should be specified directly inside 'engine'
ttlSpecifies the table TTL.If engine is specified for system table, ttl parameter should be specified directly inside 'engine'
order_byCustom 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_policyName 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'
settingsAdditional 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_millisecondsInterval for flushing data from the buffer in memory to the table.7500
max_size_rowsMaximal 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_rowsPre-allocated memory size in lines for the logs.8192
buffer_size_rows_flush_thresholdThreshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background.max_size_rows / 2
flush_on_crashSets whether logs should be dumped to the disk in case of a crash.false

min_os_cpu_wait_time_ratio_to_drop_connection

Минимальное отношение между временем ожидания CPU ОС (метрика OSCPUWaitMicroseconds) и временем занятости (метрика OSCPUVirtualTimeMicroseconds), чтобы рассмотреть возможность разрыва соединений. Линейная интерполяция между минимальным и максимальным соотношением используется для расчета вероятности, вероятность равна 0 в этот момент.

mlock_executable

Выполните mlockall после запуска, чтобы снизить задержку первых запросов и предотвратить выгрузку исполняемого файла ClickHouse при высоких IO нагрузках.

примечание

Рекомендуется включить эту опцию, однако она приведет к увеличению времени запуска на несколько секунд. Имейте в виду, что эта настройка не будет работать без возможности "CAP_IPC_LOCK".

Пример

mmap_cache_size

Устанавливает размер кэша (в байтах) для отображенных файлов. Эта настройка позволяет избежать частых вызовов открытия/закрытия (которые очень дорогостоящие из-за сопутствующих нарушений страниц) и повторно использовать отображения из нескольких потоков и запросов. Значение настройки — это количество отображенных регионов (обычно равное количеству отображенных файлов).

Объем данных в отображенных файлах можно отслеживать в следующих системных таблицах с помощью следующих метрик:

Системная таблицаМетрика
system.metrics и system.metric_logMMappedFiles и MMappedFileBytes
system.asynchronous_metrics_logMMapCacheCells
system.events, system.processes, system.query_log, system.query_thread_log, system.query_views_logCreatedReadBufferMMap, CreatedReadBufferMMapFailed, MMappedFileCacheHits, MMappedFileCacheMisses
примечание

Объем данных в отображенных файлах не потребляет память напрямую и не учитывается в использовании памяти запросов или сервера — потому что эта память может быть освобождена так же, как кэш страниц ОС. Кэш автоматически удаляется (файлы закрываются) при удалении старых частей в таблицах семейства MergeTree, также его можно удалить вручную с помощью запроса SYSTEM DROP MMAP CACHE.

Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно.

mutation_workload

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

SettingDescriptionDefaultNote
databaseName of the database.
tableName of the system table.
engineMergeTree 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_byCustom partitioning key for a system table.If engine is specified for system table, partition_by parameter should be specified directly inside 'engine'
ttlSpecifies the table TTL.If engine is specified for system table, ttl parameter should be specified directly inside 'engine'
order_byCustom 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_policyName 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'
settingsAdditional 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_millisecondsInterval for flushing data from the buffer in memory to the table.7500
max_size_rowsMaximal 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_rowsPre-allocated memory size in lines for the logs.8192
buffer_size_rows_flush_thresholdThreshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background.max_size_rows / 2
flush_on_crashSets whether logs should be dumped to the disk in case of a crash.false

Пример:

os_cpu_busy_time_threshold

Порог времени занятости CPU ОС в микросекундах (метрика OSCPUVirtualTimeMicroseconds), чтобы считать CPU выполняющим полезную работу, превышение этого значения не будет считаться перегрузкой CPU.

page_cache_free_memory_ratio

Доля ограниченной памяти, которую следует держать свободной от кэша страниц пользовательского пространства. Аналогично настройке min_free_kbytes в Linux.

page_cache_history_window_ms

Задержка перед тем, как освобожденная память может быть использована кэшем страниц пользовательского пространства.

page_cache_max_size

Максимальный размер кэша страниц пользовательского пространства. Установите в 0, чтобы отключить кэш. Если больше, чем page_cache_min_size, размер кэша будет непрерывно регулироваться в пределах этого диапазона, чтобы использовать большую часть доступной памяти, сохраняя общее использование памяти ниже лимита (max_server_memory_usage[_to_ram_ratio]).

page_cache_min_size

Минимальный размер кэша страниц пользовательского пространства.

page_cache_policy

Имя политики кэша страниц пользовательского пространства.

page_cache_shards

Разделите кэш страниц пользовательского пространства на указанное количество шардов, чтобы уменьшить конфликты мьютексов. Экспериментально, маловероятно, что улучшит производительность.

page_cache_size_ratio

Размер защищенной очереди в кэше страниц пользовательского пространства относительно общего размера кэша.

part_log

Логирование событий, связанных с MergeTree. Например, добавление или объединение данных. Вы можете использовать лог для симуляции алгоритмов объединения и сравнения их характеристик. Вы можете визуализировать процесс объединения.

Запросы записываются в таблицу system.part_log, а не в отдельный файл. Вы можете настроить имя этой таблицы в параметре table (см. ниже).

The following settings can be configured by sub-tags:

SettingDescriptionDefaultNote
databaseName of the database.
tableName of the system table.
engineMergeTree 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_byCustom partitioning key for a system table.If engine is specified for system table, partition_by parameter should be specified directly inside 'engine'
ttlSpecifies the table TTL.If engine is specified for system table, ttl parameter should be specified directly inside 'engine'
order_byCustom 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_policyName 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'
settingsAdditional 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_millisecondsInterval for flushing data from the buffer in memory to the table.7500
max_size_rowsMaximal 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_rowsPre-allocated memory size in lines for the logs.8192
buffer_size_rows_flush_thresholdThreshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background.max_size_rows / 2
flush_on_crashSets whether logs should be dumped to the disk in case of a crash.false

Пример

parts_kill_delay_period

Период для полного удаления частей для SharedMergeTree. Доступно только в ClickHouse Cloud.

parts_kill_delay_period_random_add

Добавить равномерно распределенное значение от 0 до x секунд к kill_delay_period, чтобы избежать эффекта громкого стада и последующего DoS ZooKeeper в случае очень большого количества таблиц. Доступно только в ClickHouse Cloud.

parts_killer_pool_size

Потоки для очистки устаревших потоков общего дерева слияния. Доступно только в ClickHouse Cloud.

path

Путь к директории, содержащей данные.

примечание

Требуется добавлять завершающий слеш.

Пример

postgresql_port

Порт для общения с клиентами по протоколу PostgreSQL.

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

Пример

prefetch_threadpool_pool_size

Размер фонов pool для предзагрузки для удаленных объектных хранилищ.

prefetch_threadpool_queue_size

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

prefixes_deserialization_thread_pool_thread_pool_queue_size

Максимальное количество задач, которые могут быть запланированы в пуле потоков десериализации префиксов.

примечание

Значение 0 означает отсутствие ограничений.

prepare_system_log_tables_on_startup

Если true, ClickHouse создает все настроенные таблицы system.*_log перед запуском. Это может быть полезно, если некоторые сценарии запуска зависят от этих таблиц.

primary_index_cache_policy

Название политики кэша первичного индекса.

primary_index_cache_prewarm_ratio

Соотношение общего размера кэша меток, которое нужно заполнить во время предварительного разогрева.

primary_index_cache_size

Максимальный размер кэша для первичного индекса (индекс таблиц семейства MergeTree).

primary_index_cache_size_ratio

Размер защищенной очереди (в случае политики SLRU) в кэше первичного индекса относительно общего размера кэша.

process_query_plan_packet

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

Пример

processors_profile_log

Настройки для системной таблицы processors_profile_log.

The following settings can be configured by sub-tags:

SettingDescriptionDefaultNote
databaseName of the database.
tableName of the system table.
engineMergeTree 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_byCustom partitioning key for a system table.If engine is specified for system table, partition_by parameter should be specified directly inside 'engine'
ttlSpecifies the table TTL.If engine is specified for system table, ttl parameter should be specified directly inside 'engine'
order_byCustom 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_policyName 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'
settingsAdditional 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_millisecondsInterval for flushing data from the buffer in memory to the table.7500
max_size_rowsMaximal 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_rowsPre-allocated memory size in lines for the logs.8192
buffer_size_rows_flush_thresholdThreshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background.max_size_rows / 2
flush_on_crashSets 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 использует разные прокси по круговому принципу, балансируя нагрузку между серверами. Это самый простой подход, если есть более одного прокси-сервера для протокола и список прокси-серверов не меняется.

Шаблон конфигурации

Выберите родительское поле на вкладках ниже, чтобы просмотреть их дочерние элементы:

ПолеОписание
<http>Список одного или нескольких HTTP-прокси
<https>Список одного или нескольких HTTPS-прокси

Удаленные резолверы прокси

Возможно, что прокси-серверы изменяются динамически. В этом случае вы можете определить конечную точку резолвера. ClickHouse отправляет пустой GET-запрос на эту конечную точку, удаленный резолвер должен вернуть хост прокси. ClickHouse использует его для формирования URI прокси с использованием следующего шаблона: \{proxy_scheme\}://\{proxy_host\}:{proxy_port}

Шаблон конфигурации

Выберите родительское поле на вкладках ниже, чтобы просмотреть их дочерние элементы:

ПолеОписание
<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

Название политики кэша условий запроса.

query_condition_cache_size

Максимальный размер кэша условий запроса.

примечание

Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно.

query_condition_cache_size_ratio

Размер защищенной очереди (в случае политики SLRU) в кэше условий запроса относительно общего размера кэша.

query_log

Настройка для логирования запросов, полученных с настройкой log_queries=1.

Запросы записываются в таблицу system.query_log, а не в отдельный файл. Вы можете изменить имя таблицы в параметре table (см. ниже).

The following settings can be configured by sub-tags:

SettingDescriptionDefaultNote
databaseName of the database.
tableName of the system table.
engineMergeTree 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_byCustom partitioning key for a system table.If engine is specified for system table, partition_by parameter should be specified directly inside 'engine'
ttlSpecifies the table TTL.If engine is specified for system table, ttl parameter should be specified directly inside 'engine'
order_byCustom 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_policyName 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'
settingsAdditional 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_millisecondsInterval for flushing data from the buffer in memory to the table.7500
max_size_rowsMaximal 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_rowsPre-allocated memory size in lines for the logs.8192
buffer_size_rows_flush_thresholdThreshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background.max_size_rows / 2
flush_on_crashSets whether logs should be dumped to the disk in case of a crash.false

Если таблица не существует, ClickHouse создаст её. Если структура журнала запросов изменилась при обновлении сервера ClickHouse, таблица со старой структурой переименовывается, и новая таблица создается автоматически.

Пример

query_masking_rules

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

SettingDescriptionDefaultNote
databaseName of the database.
tableName of the system table.
engineMergeTree 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_byCustom partitioning key for a system table.If engine is specified for system table, partition_by parameter should be specified directly inside 'engine'
ttlSpecifies the table TTL.If engine is specified for system table, ttl parameter should be specified directly inside 'engine'
order_byCustom 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_policyName 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'
settingsAdditional 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_millisecondsInterval for flushing data from the buffer in memory to the table.7500
max_size_rowsMaximal 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_rowsPre-allocated memory size in lines for the logs.8192
buffer_size_rows_flush_thresholdThreshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background.max_size_rows / 2
flush_on_crashSets 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:

SettingDescriptionDefaultNote
databaseName of the database.
tableName of the system table.
engineMergeTree 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_byCustom partitioning key for a system table.If engine is specified for system table, partition_by parameter should be specified directly inside 'engine'
ttlSpecifies the table TTL.If engine is specified for system table, ttl parameter should be specified directly inside 'engine'
order_byCustom 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_policyName 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'
settingsAdditional 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_millisecondsInterval for flushing data from the buffer in memory to the table.7500
max_size_rowsMaximal 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_rowsPre-allocated memory size in lines for the logs.8192
buffer_size_rows_flush_thresholdThreshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background.max_size_rows / 2
flush_on_crashSets whether logs should be dumped to the disk in case of a crash.false

Если таблица не существует, ClickHouse создаст её. Если структура журнала потоков запросов изменилась при обновлении сервера ClickHouse, таблица со старой структурой переименовывается, и новая таблица создается автоматически.

Пример

query_views_log

Настройка для логирования представлений (live, материализованных и т.д.), зависящих от запросов, полученных с настройкой log_query_views=1.

Запросы записываются в таблицу system.query_views_log, а не в отдельный файл. Вы можете изменить имя таблицы в параметре table (см. ниже).

The following settings can be configured by sub-tags:

SettingDescriptionDefaultNote
databaseName of the database.
tableName of the system table.
engineMergeTree 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_byCustom partitioning key for a system table.If engine is specified for system table, partition_by parameter should be specified directly inside 'engine'
ttlSpecifies the table TTL.If engine is specified for system table, ttl parameter should be specified directly inside 'engine'
order_byCustom 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_policyName 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'
settingsAdditional 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_millisecondsInterval for flushing data from the buffer in memory to the table.7500
max_size_rowsMaximal 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_rowsPre-allocated memory size in lines for the logs.8192
buffer_size_rows_flush_thresholdThreshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background.max_size_rows / 2
flush_on_crashSets 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>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

HTTP-таймаут для соединений запросов на получение частей. Унаследован от профиля по умолчанию http_connection_timeout, если не установлен явно.

replicated_fetches_http_receive_timeout

HTTP-таймаут для запросов на получение частей. Унаследован от профиля по умолчанию http_receive_timeout, если не установлен явно.

replicated_fetches_http_send_timeout

HTTP-таймаут для запросов на отправку частей. Унаследован от профиля по умолчанию http_send_timeout, если не установлен явно.

replicated_merge_tree

Точная настройка для таблиц в ReplicatedMergeTree. Эта настройка имеет более высокий приоритет.

Для получения дополнительной информации см. заголовочный файл MergeTreeSettings.h.

Пример

restore_threads

Максимальное количество потоков для выполнения запросов RESTORE.

s3queue_log

Настройки для системной таблицы s3queue_log.

The following settings can be configured by sub-tags:

SettingDescriptionDefaultNote
databaseName of the database.
tableName of the system table.
engineMergeTree 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_byCustom partitioning key for a system table.If engine is specified for system table, partition_by parameter should be specified directly inside 'engine'
ttlSpecifies the table TTL.If engine is specified for system table, ttl parameter should be specified directly inside 'engine'
order_byCustom 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_policyName 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'
settingsAdditional 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_millisecondsInterval for flushing data from the buffer in memory to the table.7500
max_size_rowsMaximal 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_rowsPre-allocated memory size in lines for the logs.8192
buffer_size_rows_flush_thresholdThreshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background.max_size_rows / 2
flush_on_crashSets whether logs should be dumped to the disk in case of a crash.false

Настройки по умолчанию:

send_crash_reports

Настройки для отправки отчетов о сбоях команде разработчиков ClickHouse.

Включение этой функции, особенно в средах предшествующей эксплуатации, высоко ценится.

Ключи:

КлючОписание
enabledЛогический флаг для включения функции, по умолчанию true. Установите в false, чтобы избежать отправки отчетов о сбоях.
send_logical_errorsLOGICAL_ERROR подобен assert, это ошибка в ClickHouse. Этот логический флаг включает отправку этих исключений (по умолчанию: true).
endpointВы можете переопределить URL конечной точки для отправки отчетов о сбоях.

Рекомендуемое использование

series_keeper_path

Путь в Keeper с автоинкрементными номерами, создаваемыми функцией generateSerialID. Каждая серия будет являться узлом под этим путем.

show_addresses_in_stack_traces

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

shutdown_wait_backups_and_restores

Если установлено в true, ClickHouse будет ждать завершения работающих резервных копий и восстановления перед выключением.

shutdown_wait_unfinished

Задержка в секундах для ожидания незавершенных запросов.

shutdown_wait_unfinished_queries

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

ssh_server

Публичная часть ключа хоста будет записана в файл known_hosts на стороне SSH клиента при первом соединении.

Конфигурации ключа хоста по умолчанию неактивны. Раскомментируйте конфигурации ключа хоста и укажите путь к соответствующему ssh ключу, чтобы активировать их:

Пример:

startup_mv_delay_ms

Отладочный параметр для имитации задержки создания материализованного представления.

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

Соединения выше этого лимита имеют значительно более короткое время жизни. Лимит применяется к соединениям с хранилищами.

storage_connections_store_limit

Соединения выше этого лимита сбрасываются после использования. Установите на 0, чтобы отключить кэш соединения. Лимит применяется к соединениям с хранилищами.

storage_connections_warn_limit

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

storage_metadata_write_full_object_key

Запись файлов метаданных диска с форматом VERSION_FULL_OBJECT_KEY

storage_shared_set_join_use_inner_uuid

Если включено, внутренний UUID генерируется во время создания SharedSet и SharedJoin. Только ClickHouse Cloud

table_engines_require_grant

Если установить значение true, пользователи требуют предоставления прав для создания таблицы с конкретным движком, например GRANT TABLE ENGINE ON TinyLog to user.

примечание

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

tables_loader_background_pool_size

Устанавливает количество потоков, выполняющих асинхронные загрузочные задачи в фоновом пуле. Фоновый пул используется для асинхронной загрузки таблиц после старта сервера в случае если нет запросов, ожидающих таблицы. Рекомендуется держать низкое количество потоков в фоновом пуле, если таблиц много. Это зарезервирует ресурсы CPU для параллельного выполнения запросов.

примечание

Значение 0 означает, что будут использоваться все доступные CPU.

tables_loader_foreground_pool_size

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

примечание

Значение 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:

SettingDescriptionDefaultNote
databaseName of the database.
tableName of the system table.
engineMergeTree 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_byCustom partitioning key for a system table.If engine is specified for system table, partition_by parameter should be specified directly inside 'engine'
ttlSpecifies the table TTL.If engine is specified for system table, ttl parameter should be specified directly inside 'engine'
order_byCustom 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_policyName 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'
settingsAdditional 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_millisecondsInterval for flushing data from the buffer in memory to the table.7500
max_size_rowsMaximal 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_rowsPre-allocated memory size in lines for the logs.8192
buffer_size_rows_flush_thresholdThreshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background.max_size_rows / 2
flush_on_crashSets whether logs should be dumped to the disk in case of a crash.false

Дополнительно:

НастройкаОписаниеЗначение по умолчанию
levelМаксимальный уровень сообщения (по умолчанию Trace), который будет храниться в таблице.Trace

Пример

thread_pool_queue_size

Максимальное количество заданий, которые могут быть запланированы в глобальном пуле потоков. Увеличение размера очереди приводит к большему использованию памяти. Рекомендуется держать это значение равным max_thread_pool_size.

примечание

Значение 0 означает неограниченное.

Пример

threadpool_writer_pool_size

Размер фонового пула для запросов на запись в объектные хранилища

threadpool_writer_queue_size

Количество задач, которые можно добавить в фоновый пул для запросов на запись в объектные хранилища

throw_on_unknown_workload

Определяет поведение при доступе к неизвестной WORKLOAD с параметром запроса '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

Собирает случайные аллокации размером меньше или равным указанному значению с вероятностью, равной total_memory_profiler_sample_probability. 0 означает отключено. Вы можете установить 'max_untracked_memory' на 0, чтобы этот порог работал как ожидается.

total_memory_profiler_sample_min_allocation_size

Собирает случайные аллокации размером больше или равным указанному значению с вероятностью, равной total_memory_profiler_sample_probability. 0 означает отключено. Вы можете установить 'max_untracked_memory' на 0, чтобы этот порог работал как ожидается.

total_memory_profiler_step

Каждый раз, когда использование памяти сервера превышает следующий шаг в байтах, профайлер памяти будет собирать трассировку стека аллокации. Ноль означает отключенный профайлер памяти. Значения ниже нескольких мегабайт замедлят работу сервера.

total_memory_tracker_sample_probability

Позволяет собирать случайные аллокации и деалокации и записывать их в системную таблицу 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:

SettingDescriptionDefaultNote
databaseName of the database.
tableName of the system table.
engineMergeTree 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_byCustom partitioning key for a system table.If engine is specified for system table, partition_by parameter should be specified directly inside 'engine'
ttlSpecifies the table TTL.If engine is specified for system table, ttl parameter should be specified directly inside 'engine'
order_byCustom 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_policyName 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'
settingsAdditional 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_millisecondsInterval for flushing data from the buffer in memory to the table.7500
max_size_rowsMaximal 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_rowsPre-allocated memory size in lines for the logs.8192
buffer_size_rows_flush_thresholdThreshold for amount of lines. If the threshold is reached, flushing logs to the disk is launched in background.max_size_rows / 2
flush_on_crashSets whether logs should be dumped to the disk in case of a crash.false

Стандартный файл конфигурации сервера config.xml содержит следующий раздел настроек:

uncompressed_cache_policy

Имя политики кэша без сжатия.

uncompressed_cache_size

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

Существует один общий кэш для сервера. Память выделяется по мере необходимости. Кэш используется, если опция use_uncompressed_cache включена.

Несжатый кэш полезен для очень коротких запросов в индивидуальных случаях.

примечание

Значение 0 означает отключено.

Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно.

uncompressed_cache_size_ratio

Размер защищенной очереди (в случае политики 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_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

Директория с пользовательскими файлами скриптов. Используется для исполняемых пользовательских определенных функций Исполняемые пользовательские определенные функции.

Пример

Тип:

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

users_config

Путь к файлу, который содержит:

  • Конфигурации пользователей.
  • Права доступа.
  • Настройки профилей.
  • Настройки квот.

Пример

validate_tcp_client_information

Определяет, включена ли проверка информации клиента при получении пакета запроса.

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

vector_similarity_index_cache_max_entries

Размер кэша для индекса векторного сходства в записях. Ноль означает отключено.

vector_similarity_index_cache_policy

Имя политики кэша для индекса векторного сходства.

vector_similarity_index_cache_size

Размер кэша для индексов векторного сходства. Ноль означает отключено.

примечание

Эту настройку можно изменить во время выполнения, и она вступит в силу немедленно.

wait_dictionaries_load_at_startup

Эта настройка позволяет указать поведение, если 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Максимальный тайм-аут для клиентской сессии в миллисекундах.
operation_timeout_msМаксимальный тайм-аут для одной операции в миллисекундах.
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, если происходит восстановление соединения, выбирает следующий.

Пример конфигурации

См. также