Изменение конфигурационных параметров ClickHouse

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

При конфигурации модуля хранения метрик в MITIGATOR нужно учитывать следующее:

  • корневой элемент конфигурационных файлов — <yandex>
  • пользовательские файлы конфигураций следует размещать в /etc/clickhouse-server/users.d внутри контейнера clickhouse
  • файлы конфигурации сервера следует размещать в /etc/clickhouse-server/config.dвнутри контейнера clickhouse

Как сконфигурировать ClickHouse на примере ограничения используемой оперативной памяти сервером до 50Гб:

  1. Создать файл custom.xml с необходимыми параметрами

    <yandex>
        <max_server_memory_usage>50000000000</max_server_memory_usage>
    </yandex>
  2. Создать либо дополнить docker-compose.override.yml

    version: "2.2"
    services:
      clickhouse:
          volumes:
            - ./custom.xml:/etc/clickhouse-server/config.d/custom.xml
  3. Перезапустить модуль хранения метрик

    docker-compose up -d clickhouse

Некоторые полезные параметры:

  • max_memory_usage — максимальный возможный объём оперативной памяти для выполнения запроса на одном сервере
  • max_server_memory_usage_to_ram_ratio — доля оперативной памяти сервера, доступная для использования сервером ClickHouse
  • max_concurrent_select_queries — максимальное количество одновременных SELECT запросов