Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Managed Service for ClickHouse
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Информация об имеющихся кластерах
    • Создание кластера
    • Подключение к базе данных
    • Остановка и запуск кластера
    • SQL-запросы в консоли управления
    • Изменение настроек кластера и базы данных
    • Подключение внешних словарей
    • Подключение собственной геобазы
    • Подключение моделей машинного обучения
    • Управление схемами формата данных
    • Подключение к DataLens
    • Изменение версии ClickHouse
    • Управление хостами ClickHouse
    • Управление хостами ZooKeeper
    • Управление базами данных
    • Управление пользователями БД
    • Управление резервными копиями
    • Управление шардами
    • Управление группами шардов
    • Удаление кластера
  • Сценарии использования
    • Добавление данных в БД
    • Миграция данных ClickHouse
    • Шардирование таблиц
    • Использование гибридного хранилища
    • Получение данных из Managed Service for Apache Kafka®
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Классы хостов
      • Действующие классы хостов
      • Архив
        • До 1 июня 2020 года
      • Использование устаревших классов хостов
    • Сеть в Managed Service for ClickHouse
    • Квоты и лимиты
    • Типы хранилища
    • Резервные копии
    • Репликация
    • Словари
    • Шардирование
    • Поддерживаемые клиенты
    • Политика работа с версиями ClickHouse
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • До 1 января 2019 года
      • С 1 января до 1 марта 2019 года
      • С 1 марта 2019 года до 1 февраля 2020 года
  • Справочник API
    • Аутентификация в API
    • gRPC
      • Обзор
      • BackupService
      • ClusterService
      • DatabaseService
      • MlModelService
      • ResourcePresetService
      • UserService
      • VersionsService
      • OperationService
    • REST
      • Обзор
      • Backup
        • Обзор
        • get
        • list
      • Cluster
        • Обзор
        • addHosts
        • addShard
        • addZookeeper
        • backup
        • create
        • createExternalDictionary
        • createShardGroup
        • delete
        • deleteExternalDictionary
        • deleteHosts
        • deleteShard
        • deleteShardGroup
        • get
        • getShard
        • getShardGroup
        • list
        • listBackups
        • listHosts
        • listLogs
        • listOperations
        • listShardGroups
        • listShards
        • move
        • restore
        • start
        • stop
        • streamLogs
        • update
        • updateShard
        • updateShardGroup
      • Database
        • Обзор
        • create
        • delete
        • get
        • list
      • MlModel
        • Обзор
        • create
        • delete
        • get
        • list
        • update
      • ResourcePreset
        • Обзор
        • get
        • list
      • User
        • Обзор
        • create
        • delete
        • get
        • grantPermission
        • list
        • revokePermission
        • update
      • Versions
        • Обзор
        • list
      • Operation
        • Обзор
        • get
  • Вопросы и ответы
    • Общие вопросы
    • Вопросы о ClickHouse
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Создание кластера

Создание ClickHouse-кластера

  • Примеры

ClickHouse-кластер — это один или несколько хостов базы данных, между которыми можно настроить репликацию.

Важно

При создании кластера ClickHouse из 2 и более хостов Managed Service for ClickHouse автоматически создает кластер из 3 хостов ZooKeeper для управления репликацией и отказоустойчивостью. Эти хосты учитываются в расчете использованной квоты ресурсов в облаке , и в расчете стоимости кластера . Подробнее — в разделе о репликации для ClickHouse.

Количество хостов, которые можно создать вместе с ClickHouse-кластером, зависит от выбранного типа хранилища:

  • При использовании локального хранилища вы можете создать кластер из двух или более реплик (минимум две реплики необходимо, чтобы обеспечить отказоустойчивость). Если после создания кластера доступных ресурсов каталога останется достаточно, вы можете добавить дополнительные реплики.
  • При использовании сетевого хранилища вы можете запросить любое количество хостов (от одного до пределов текущей квоты).
  • При использовании гибридного хранилища, вы можете создать кластер только из одного хоста. После создания такого кластера в него можно добавлять шарды, состоящие только из одного хоста. Такой кластер не будет устойчив к отказам хостов, однако, в случае сбоя данные шарда или кластера будут сохранены. Гибридное хранилище находится на стадии Preview.
Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог, в котором нужно создать кластер БД.

  2. Выберите сервис Managed Service for ClickHouse.

  3. Нажмите кнопку Создать кластер.

  4. Введите имя кластера в поле Имя кластера. Имя кластера должно быть уникальным в рамках каталога.

  5. Выберите версию ClickHouse, которую будет использовать кластер Managed Service for ClickHouse, из выпадающего списка Версия:

    1. Для большинства кластеров рекомендуется выбрать самую новую LTS-версию.
    2. Для кластеров, в которых планируется использовать гибридное хранилище, рекомендуется выбрать самую новую версию. Этот тип хранилища поддерживается, начиная с версии ClickHouse 20.1.
  6. Выберите окружение, в котором нужно создать кластер (после создания кластера окружение изменить невозможно):

    • PRODUCTION — для стабильных версий ваших приложений.
    • PRESTABLE — для тестирования, в том числе самого сервиса Managed Service for ClickHouse. В Prestable-окружении раньше появляются новая функциональность, улучшения и исправления ошибок. При этом не все обновления обеспечивают обратную совместимость.
  7. Выберите класс хостов — он определяет технические характеристики виртуальных машин, на которых будут развернуты хосты БД. Все доступные варианты перечислены в разделе Классы хостов. При изменении класса хостов для кластера меняются характеристики всех уже созданных экземпляров.

  8. В блоке Размер хранилища:

    • Выберите тип хранилища — более гибкое сетевое (network-hdd или network-ssd) или более быстрое локальное хранилище (local-ssd).

      При выборе типа хранилища обратите внимание, что:

      • Размер локального хранилища можно менять только с шагом 100 ГБ.
      • Если вы планируете использовать гибридное хранилище на стадии Preview, то в этом блоке можно выбрать только одно из сетевых хранилищ: network-ssd или network-hdd.
    • Выберите объем, который будет использоваться для данных и резервных копий. Подробнее о том, как занимают пространство резервные копии, см. раздел Резервные копии.

  9. В блоке База данных укажите атрибуты БД:

    • Имя БД.
    • Имя пользователя.
    • Пароль пользователя. Минимум 8 символов.
  10. В блоке Хосты укажите параметры хостов БД, создаваемых вместе с кластером. Чтобы изменить добавленный хост, наведите курсор на строку хоста и нажмите значок .

    При настройке параметров хостов обратите внимание, что:

    • Если ранее в блоке Хранилище был выбран тип local-ssd, то необходимо добавить не менее двух хостов в кластер;
    • Если вы планируете использовать гибридное хранилище на стадии Preview, то в кластере должен быть только один хост.
  11. При необходимости задайте дополнительные настройки кластера:

    • Начало резервного копирования (UTC) — время по UTC, когда требуется начать резервное копирование кластера (в 24-часовом формате). Если время не задано, резервное копирование начнется в 22:00 UTC.

    • Окно обслуживания — настройки окна технического обслуживания. С их помощью вы можете указать предпочтительное время начала проведения операций по техническому обслуживанию хостов кластера (например, можно выбрать время, когда кластер наименее нагружен запросами):

      • Чтобы указать предпочтительное время начала окна технического обслуживания, выберите пункт по расписанию и задайте нужные день недели и час дня в UTC (Coordinated Universal Time), выбрав значения из выпадающих списков.
      • Чтобы разрешить проведение операций технического обслуживания в любое время, выберите пункт произвольное.

      Операции по техническому обслуживанию могут включать в себя: обновление версии СУБД, применение патчей и так далее.

    • Гибридное хранилище — включите эту опцию и выберите один из типов сетевого хранилища в разделе Хранилище, чтобы создать кластер, который будет использовать гибридное хранилище.

      Важно

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

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

    • Доступ из консоли управления — включите эту опцию, чтобы получить возможность выполнять SQL-запросы к базам кластера из консоли управления Yandex.Cloud.

    • Доступ из Метрики и AppMetrica — включите эту опцию, чтобы получить возможность импортировать данные из AppMetrica в кластер.

  12. При необходимости задайте настройки СУБД:

    • 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.

    • Metric log enabled — включает или выключает логирование истории значений метрик из таблиц system.metrics и system.events в таблицу system.metric_log. По умолчанию логирование включено (true).

    • Metric log retention size — максимальный размер в байтах, которого может достигнуть таблица system.metric_log, прежде чем из нее начнут удаляться старые записи. Значение 0 означает, что старые записи не будут удаляться из-за роста размера таблицы. Значение по умолчанию: 536870912 (0,5 ГБ).

    • Metric log retention time — период времени в миллисекундах, по истечении которого запись в таблице system.metric_log подлежит удалению. Отсчет начинается в момент внесения записи в таблицу. Значение 0 означает, что записи не будут удаляться по истечении времени. Значение должно быть кратно 1000. Значение по умолчанию: 2592000000 (30 дней).

    • Part log retention size — максимальный размер в байтах, которого может достигнуть таблица system.part_log, прежде чем из нее начнут удаляться старые записи. Значение 0 означает, что старые записи не будут удаляться из-за роста размера таблицы. Значение по умолчанию: 536870912 (0,5 ГБ).

    • Part log retention time — период времени в миллисекундах, по истечении которого запись в таблице system.part_log подлежит удалению. Отсчет начинается в момент внесения записи в таблицу. Значение 0 означает, что записи не будут удаляться по истечении времени. Значение должно быть кратно 1000. Значение по умолчанию: 2592000000 (30 дней).

    • Query log retention size — максимальный размер в байтах, которого может достигнуть таблица system.query_log, прежде чем из нее начнут удаляться старые записи. Значение 0 означает, что старые записи не будут удаляться из-за роста размера таблицы. Значение по умолчанию: 1073741824 (1 ГБ).

    • Query log retention time — период времени в миллисекундах, по истечении которого запись в таблице system.query_log подлежит удалению. Отсчет начинается в момент внесения записи в таблицу. Значение 0 означает, что записи не будут удаляться по истечении времени. Значение должно быть кратно 1000. Значение по умолчанию: 2592000000 (30 дней).

    • Query thread log enabled — включает или выключает логирование информации о потоках, которые выполняют запросы, например, имя потока, время его запуска, продолжительность обработки запроса. Логи пишутся в таблицу system.query_thread_log. По умолчанию логирование включено (true).

    • Query thread log retention size — максимальный размер в байтах, которого может достигнуть таблица system.query_thread_log, прежде чем из нее начнут удаляться старые записи. Значение 0 означает, что старые записи не будут удаляться из-за роста размера таблицы. Значение по умолчанию: 536870912 (0,5 ГБ).

    • Query thread log retention time — период времени в миллисекундах, по истечении которого запись в таблице system.query_thread_log подлежит удалению. Отсчет начинается в момент внесения записи в таблицу. Значение 0 означает, что записи не будут удаляться по истечении времени. Значение должно быть кратно 1000. Значение по умолчанию: 2592000000 (30 дней).

    • Text log enabled — включает или выключает запись системных логов в таблицу system.text_log. По умолчанию логирование выключено (false).

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

      1. ERROR — информация об ошибках в работе СУБД;
      2. WARNING — информация о событиях, которые могут привести к ошибкам в работе СУБД;
      3. INFORMATION — подтверждения, информация о событиях, не приводящих к ошибкам в работе СУБД;
      4. DEBUG — системная информации для последующего использования в отладке;
      5. TRACE — вся доступная информации о работе СУБД.
    • Text log retention size — максимальный размер в байтах, которого может достигнуть таблица system.text_log, прежде чем из нее начнут удаляться старые записи. Значение 0 означает, что старые записи не будут удаляться из-за роста размера таблицы. Значение по умолчанию: 536870912 (0,5 ГБ).

    • Text log retention time — период времени в миллисекундах, по истечении которого запись в таблице system.text_log подлежит удалению. Отсчет начинается в момент внесения записи в таблицу. Значение 0 означает, что записи не будут удаляться по истечении времени. Значение должно быть кратно 1000. Значение по умолчанию: 2592000000 (30 дней).

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

    • Trace log enabled — включает или выключает логирование стектрейсов, собираемых профилировщиком запросов, в таблицу system.trace_log. По умолчанию логирование включено (true).

    • Trace log retention size — максимальный размер в байтах, которого может достигнуть таблица system.trace_log, прежде чем из нее начнут удаляться старые записи. Значение 0 означает, что старые записи не будут удаляться из-за роста размера таблицы. Значение по умолчанию: 536870912 (0,5 ГБ).

    • Trace log retention time — период времени в миллисекундах, по истечении которого запись в таблице system.trace_log подлежит удалению. Отсчет начинается в момент внесения записи в таблицу. Значение 0 означает, что записи не будут удаляться по истечении времени. Значение должно быть кратно 1000. Значение по умолчанию: 2592000000 (30 дней).

    • 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 (количество секунд в сутках).
    • Kafka — глобальные настройки аутентификации для интеграции с Apache Kafka®:

      • Sasl mechanism — механизм аутентификации SASL:
        • GSSAPI — аутентификация c использованием Kerberos.
        • PLAIN — аутентификация с использованием пары «логин-пароль» в виде открытого текста.
        • SCRAM-SHA-256 и SCRAM-SHA-512 — аутентификация с использованием механизмов семейства SCRAM.
      • Sasl password — пароль учетной записи Apache Kafka®.
      • Sasl username — имя учетной записи Apache Kafka®.
      • Security protocol — протокол безопасности для использования при аутентификации:
        • PLAINTEXT — данные для аутентификации передаются в открытом виде.
        • SSL — данные для аутентификации передаются в зашифрованном виде с помощью SSL.
        • SASL_PLAINTEXT — данные для аутентификации передаются в открытом виде, в качестве транспорта используется SASL.
        • SASL_SSL — данные для аутентификации передаются в зашифрованном виде с помощью SSL, в качестве транспорта используется SASL.

      Подробнее см. в документации Apache Kafka®.

    • Kafka topics — настройки аутентификации на уровне топиков для интеграции с Apache Kafka®:

      • Name — имя топика Apache Kafka®.
      • Settings — настройки аутентификации для топика, аналогичные глобальным настройкам аутентификации в секции Kafka.

      Если для таблицы на движке Kafka не будут найдены данные аутентификации для топика, то будут использованы глобальные настройки из секции Kafka.

      Подробнее см. в документации Apache Kafka®.

    • 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 хранит блоки хешей (старые блоки будут удалены).
    • Rabbitmq - глобальные настройки аутентификации для интеграции с RabbitMQ:

      • Password - пароль учетной записи RabbitMQ.
      • Username - имя учетной записи RabbitMQ.
  13. Нажмите кнопку Создать кластер.

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

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

Чтобы создать кластер:

  1. Проверьте, есть ли в каталоге подсети для хостов кластера:

    $ yc vpc subnet list
    

    Если ни одной подсети в каталоге нет, создайте нужные подсети в сервисе VPC.

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

    $ yc managed-clickhouse cluster create --help
    
  3. Укажите параметры кластера в команде создания (в примере приведены только обязательные флаги):

    $ yc managed-clickhouse cluster create \
       --name <имя кластера> \
       --environment <окружение, prestable или production> \
       --network-name <имя сети> \
       --host type=<clickhouse или zookeeper>,zone-id=<зона доступности>,subnet-id=<идентификатор подсети> \
       --clickhouse-resource-preset <класс хоста> \
       --clickhouse-disk-type <network-hdd | network-ssd | local-ssd> \
       --clickhouse-disk-size <размер хранилища в гигабайтах> \
       --user name=<имя пользователя>,password=<пароль пользователя> \
       --database name=<имя базы данных>
    

    Идентификатор подсети subnet-id необходимо указывать, если в выбранной зоне доступности создано 2 и больше подсетей.

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

Если у вас ещё нет Terraform, установите его и настройте провайдер.

Чтобы создать кластер:

  1. Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:

    • Кластер базы данных — описание кластера и его хостов.
    • Сеть — описание облачной сети, в которой будет расположен кластер. Если подходящая сеть у вас уже есть, описывать ее повторно не нужно.
    • Подсети — описание подсетей, к которым будут подключены хосты кластера. Если подходящие подсети у вас уже есть, описывать их повторно не нужно.

    Пример структуры конфигурационного файла:

    resource "yandex_mdb_clickhouse_cluster" "<имя кластера>" {
      name        = "<имя кластера>"
      environment = "<окружение>"
      network_id  = "<идентификатор сети>"
    
      clickhouse {
        resources {
          resource_preset_id = "<класс хоста>"
          disk_type_id       = "<тип хранилища>"
          disk_size          = "<объем хранилища, ГБ>"
        }
      }
    
      database {
        name = "<имя базы данных>"
      }
    
      user {
        name     = "<имя пользователя БД>"
        password = "<пароль>"
        permission {
          database_name = "<имя БД, в которой создается пользователь>"
        }
      }
    
      host {
        type      = "CLICKHOUSE"
        zone      = "<зона доступности>"
        subnet_id = "<идентификатор подсети>"
      }
    }
    
    resource "yandex_vpc_network" "<имя сети>" { name = "<имя сети>" }
    
    resource "yandex_vpc_subnet" "<имя подсети>" {
      name           = "<имя подсети>"
      zone           = "<зона доступности>"
      network_id     = "<идентификатор сети>"
      v4_cidr_blocks = ["<диапазон>"]
    }
    

    Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.

  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в каталог, в котором вы создали конфигурационный файл.
    2. Выполните проверку с помощью команды:
      terraform plan
      

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

  3. Создайте кластер.

    1. Если в конфигурации нет ошибок, выполните команду:
      terraform apply
      
    2. Подтвердите создание ресурсов.

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

Чтобы создать кластер, воспользуйтесь методом API create и передайте в запросе:

  • Идентификатор каталога, в котором должен быть размещен кластер, в параметре folderId.
  • Имя кластера в параметре name.
  • Окружение кластера в параметре environment.
  • Конфигурацию кластера в параметре configSpec.
  • Конфигурацию хостов кластера в одном или нескольких параметрах hostSpecs.
  • Идентификатор сети в параметре networkId.

При необходимости включите управление пользователями и базами данных через SQL:

  • configSpec.sqlUserManagement — задайте значение true для включения режима управления пользователями через SQL.
  • configSpec.sqlDatabaseManagement — задайте значение true для включения режима управления базами данных через SQL. Необходимо, чтобы был включен режим управления пользователями через SQL.
  • configSpec.adminPassword — задайте пароль пользователя admin, с помощью которого осуществляется управление.

При создании кластера из нескольких хостов:

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

Примеры

CLI
Terraform

Создание кластера с одним хостом

Чтобы создать кластер с одним хостом, следует передать один параметр --host.

Допустим, нужно создать ClickHouse-кластер со следующими характеристиками:

  • С именем mych.
  • В окружении production.
  • В сети default.
  • С одним хостом ClickHouse класса s2.micro в подсети b0rcctk2rvtr8efcch64, в зоне доступности ru-central1-c.
  • С быстрым сетевым хранилищем (network-ssd) объемом 20 ГБ.
  • С одним пользователем, user1, с паролем user1user1.
  • С одной базой данных, db1.

Запустите следующую команду:

$ yc managed-clickhouse cluster create \
     --name mych \
     --environment=production \
     --network-name default \
     --clickhouse-resource-preset s2.micro \
     --host type=clickhouse,zone-id=ru-central1-c,subnet-id=b0cl69g98qumiqmtg12a \
     --clickhouse-disk-size 20 \
     --clickhouse-disk-type network-ssd \
     --user name=user1,password=user1user1 \
     --database name=db1

Создание кластера с одним хостом

Допустим, нужно создать ClickHouse-кластер и сеть для него со следующими характеристиками:

  • С именем mych.
  • В окружении PRESTABLE.
  • В облаке с идентификатором b1gq90dgh25bebiu75o.
  • В каталоге myfolder.
  • В новой сети mynet.
  • С одним хостом класса s2.micro в новой подсети mysubnet, в зоне доступности ru-central1-c. Подсеть mysubnet будет иметь диапазон 10.5.0.0/24.
  • С быстрым сетевым хранилищем объемом 32 ГБ.
  • С именем базы данных my_db.
  • C именем пользователя user1 и паролем user1user1.

Конфигурационный файл для такого кластера выглядит так:

provider "yandex" {
  token     = "<OAuth или статический ключ сервисного аккаунта>"
  cloud_id  = "b1gq90dgh25bebiu75o"
  folder_id = "${data.yandex_resourcemanager_folder.myfolder.id}"
  zone      = "ru-central1-c"
}

resource "yandex_mdb_clickhouse_cluster" "mych" {
  name        = "mych"
  environment = "PRESTABLE"
  network_id  = "${yandex_vpc_network.mynet.id}"

  clickhouse {
    resources {
      resource_preset_id = "s2.micro"
      disk_type_id       = "network-ssd"
      disk_size          = 32
    }
  }

  database {
    name = "my_db"
  }

  user {
    name     = "user1"
    password = "user1user1"
    permission {
      database_name = "my_db"
    }
  }

  host {
    type      = "CLICKHOUSE"
    zone      = "ru-central1-c"
    subnet_id = "${yandex_vpc_subnet.mysubnet.id}"
  }
}

resource "yandex_vpc_network" "mynet" { name = "mynet" }

resource "yandex_vpc_subnet" "mysubnet" {
  name           = "mysubnet"
  zone           = "ru-central1-c"
  network_id     = "${yandex_vpc_network.mynet.id}"
  v4_cidr_blocks = ["10.5.0.0/24"]
}
Language
Вакансии
Политика конфиденциальности
Условия использования
© 2021 ООО «Яндекс.Облако»