Изменение настроек кластера

После создания кластера вы можете:

Изменить класс хостов

Если у вас еще нет интерфейса командной строки Яндекс.Облака, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы изменить класс хостов для кластера:

  1. Посмотрите описание команды CLI для изменения кластера:

    $ yc managed-clickhouse cluster update --help
    
  2. Запросите список доступных классов хостов (в колонке ZONES указаны зоны доступности, в которых можно выбрать соответствующий класс):

    $ yc managed-clickhouse resource-preset list
    
    +-----------+--------------------------------+-------+----------+
    |    ID     |            ZONE IDS            | CORES |  MEMORY  |
    +-----------+--------------------------------+-------+----------+
    | s1.nano   | ru-central1-a, ru-central1-b,  |     1 | 4.0 GB   |
    |           | ru-central1-c                  |       |          |
    | s1.micro  | ru-central1-a, ru-central1-b,  |     2 | 8.0 GB   |
    |           | ru-central1-c                  |       |          |
    | ...                                                           |
    +-----------+--------------------------------+-------+----------+
    
  3. Укажите нужный класс в команде изменения кластера:

    $ yc managed-clickhouse cluster update <имя кластера>
         --clickhouse-resource-preset <ID класса>
    

    Managed Service for ClickHouse запустит операцию изменения класса хостов для кластера.

    Для хоста ZooKeeper класс можно задать в аналогичном параметре, --zookeeper-resource-preset.

Изменить класс хостов кластера можно с помощью метода API update: передайте в запросе нужные значения в параметре configSpec.clickhouse.resources.resourcePresetId (для ZooKeeper — configSpec.zookeeper.resources.resourcePresetId).

Список поддерживаемых значений запрашивайте методом list для ресурсов ResourcePreset.

Увеличить размер хранилища

Если у вас еще нет интерфейса командной строки Яндекс.Облака, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы увеличить размер хранилища для кластера:

  1. Проверьте, что нужный кластер использует именно сетевое хранилище (увеличить размер локального хранилища пока невозможно). Для этого запросите информацию о кластере и найдите поле disk_type_id — его значение должно быть network-hdd или network-ssd:

    $ yc managed-clickhouse cluster get <имя кластера>
    
    id: c7qkvr3u78qiopj3u4k2
    folder_id: b1g0ftj57rrjk9thribv
    ...
    config:
      clickhouse:
        resources:
          resource_preset_id: s1.nano
          disk_size: "21474836480"
          disk_type_id: network-ssd
    ...
    
  2. Посмотрите описание команды CLI для изменения кластера:

    $ yc managed-clickhouse cluster update --help
    
  3. Проверьте, что в облаке хватает квоты на увеличение хранилища: откройте страницу Квоты для вашего облака и проверьте, что в секции Yandex Managed Service for ClickHouse не исчерпано место в строке space.

  4. Укажите нужный объем хранилища в команде изменения кластера (должен быть не меньше, чем значение disk_size в свойствах кластера):

    $ yc managed-clickhouse cluster update <имя кластера>
         --clickhouse-disk-size <размер хранилища в ГБ>
    

    Если все условия выполнены, Managed Service for ClickHouse запустит операцию по увеличению объема хранилища.

    Объем хранилища для ZooKeeper можно изменить аналогичным параметром, --zookeeper-disk-size.

Изменить размер хранилища для кластера можно с помощью метода API update: передайте в запросе нужные значения в параметре configSpec.clickhouse.resources.diskSize (для ZooKeeper — configSpec.zookeeper.resources.diskSize).

Проверьте, что в облаке хватает квоты на увеличение хранилища: откройте страницу Квоты для вашего облака и проверьте, что в секции Yandex Managed Service for ClickHouse не исчерпано место в строке space.

Изменить настройки ClickHouse

Вы можете изменить настройки СУБД для хостов вашего кластера.

  1. Перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse.

  2. Выберите кластер и нажмите кнопку Изменить кластер на панели сверху.

  3. Нажмите кнопку Настроить в блоке Настройки СУБД.

  4. Настройте параметры кластера:

    • Geobase uri — адрес архива с пользовательской геобазой в Object Storage.

    • Keep alive timeout — время в секундах после поступления последнего запроса к ClickHouse, в течение которого сервер ожидает новый запрос. Если в течение этого времени запросов не поступит, ClickHouse разорвет соединение. Подробнее см. в документации ClickHouse.

    • Log level — уровень логирования событий. На каждом следующем уровне лог будет содержать всю информацию из предыдущего:

      1. ERROR — информация об ошибках в работе кластера;
      2. WARNING — информация о событиях, которые могут привести к ошибкам в работе кластера;
      3. INFORMATION — подтверждения, информация о событиях, не приводящих к ошибкам в работе кластера;
      4. DEBUG — системная информации для последующего использования в отладке;
      5. TRACE — вся доступная информации о работе кластера.

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

    • Mark cache size — приблизительный размер в байтах кэша засечек, используемых движками таблиц семейства MergeTree. Кэш общий для сервера, память выделяется по мере необходимости. Подробнее о логировании в ClickHouse см. в документации.

    • Max concurrent queries — максимальное количество одновременно обрабатываемых запросов. Подробнее см. в документации ClickHouse.

    • Max connections — максимальное количество входящих соединений. Подробнее см. в документации ClickHouse.

    • Max partition size to drop — максимальный размер в байтах партиции таблицы семейства MergeTree, которую можно удалить с помощью запроса DROP.

    • Max table size to drop — максимальный размер в байтах таблицы семейства MergeTree, которую можно удалить с помощью запроса DROP. Значение 0 означает, что можно удалять все таблицы без ограничений. Подробнее см. в документации ClickHouse.

    • Timezone — временная зона сервера. Указывается идентификатором IANA в виде часового пояса UTC или географического положения (например, Africa/Abidjan). Подробнее см. в документации ClickHouse.

    • Uncompressed cache size — размер кеша в байтах для несжатых данных, используемых движками таблиц семейства MergeTree. Подробнее см. в документации ClickHouse.

    • Compression — правила сжатия данных для таблиц семейства MergeTree.

      • Method — метод сжатия. Доступно два метода: LZ4 и zstd.
      • Min part size — минимальный размер куска данных таблицы в байтах. ClickHouse будет применять правило только к тем таблицам, у которых размер кусков больше или равен значению Min part size.
      • Min part size ratio — отношение размера наименьшего куска таблицы к полному размеру таблицы. ClickHouse будет применять правило только к тем таблицам, у которых такое отношение больше или равно значению Min part size ratio.

      Вы можете добавить несколько правил сжатия. ClickHouse проверит условия Min part size и Min part size ratio и применит правила к тем таблицам, для которых выполнены оба условия. Если к одной таблице подходит несколько правил, ClickHouse применит первое из них. Если ни одно из правил не подходит, ClickHouse применит метод сжатия LZ4. Подробнее см. в документации ClickHouse

    • Graphite rollup — конфигурации движка GraphiteMergeTree для прореживания и агрегирования/усреднения (rollup) данных Graphite. Вы можете настроить несколько конфигураций и использовать их для разных таблиц.

      Подробнее о поддержке Graphite в ClickHouse читайте в документации.

      • Name — имя конфигурации.
      • Patterns — набор правил прореживания. Правило применяется, если имя метрики соответствует значению параметра Regexp, а возраст данных соответствует значению группы параметров Retention.
        • Function — имя агрегирующей функции.
        • Regexp — регулярное выражение, которому должно соответствовать имя метрики.
        • Retention — параметры задержки. Функция применяется к данным, чей возраст оказался в интервале [Age, Age + Precision]. Вы можете задать несколько групп таких параметров.
          • Age — минимальный возраст данных в секундах.
          • Precision — точность определения возраста данных в секундах. Должен быть делителем для 86400 (количество секунд в сутках).
    • Merge tree — конфигурация движка MergeTree. Подробнее см. в документации ClickHouse

      • Max bytes to merge at min space in pool — максимальный общий размер куска данных для слияния, когда в фоновом пуле минимум свободных потоков.
      • Max replicated merges in queue — максимальное число задач слияния, которые могут одновременно находиться в очереди ReplicatedMergeTree.
      • Number of free entries in pool to lower max size of merge — предельное значение свободных записей в пуле. Если количество записей в пуле становится меньше этого значения, ClickHouse уменьшает максимальный размер куска данных для слияния. Это позволяет быстрее обрабатывать небольшие слияния, а не заполнять пул длительными.
      • Parts to delay insert — число активных кусков данных таблицы, при превышении которого ClickHouse будет искусственно уменьшать скорость вставки данных в таблицу.
      • Parts to throw insert — предельное число активных кусков данных таблицы, при превышении которого ClickHouse отправляет исключение 'Too many parts ...'.
      • Replicated deduplication window — число последних блоков хешей, которые ZooKeeper будет хранить (старые блоки будут удалены).
      • Replicated deduplication window seconds — время, в течение которого ZooKeeper хранит блоки хешей (старые блоки будут удалены).
  5. Нажмите кнопку Сохранить.

Изменить настройки СУБД для кластера можно с помощью метода API update: передайте в запросе нужные значения в параметре configSpec.clickhouse.config. Все поддерживаемые настройки описаны в справочнике API.