Изменение настроек кластера ClickHouse®
- Изменить настройки сервисного аккаунта
- Изменить класс хостов
- Изменить тип диска и увеличить размер хранилища
- Настроить сервис координации
- Включить управление пользователями и базами данных через SQL
- Изменить дополнительные настройки кластера
- Переместить кластер
- Изменить группы безопасности
- Изменить настройки гибридного хранилища
После создания кластера вы можете:
- Изменить настройки сервисного аккаунта.
- Изменить класс хостов.
- Изменить тип диска и увеличить размер хранилища.
- Настроить сервис координации.
- Включить управление пользователями и базами данных через SQL.
- Изменить дополнительные настройки кластера.
- Переместить кластер в другой каталог.
- Изменить группы безопасности кластера.
- Изменить настройки гибридного хранилища.
Подробнее о других изменениях кластера:
- Перенос кластера в другую зону доступности.
- Настройка серверов ClickHouse® согласно документации ClickHouse®
. - Изменение настроек ClickHouse® на уровне запроса.
Изменить настройки сервисного аккаунта
Для привязки сервисного аккаунта к кластеру Managed Service for ClickHouse® назначьте вашему аккаунту в Yandex Cloud роль iam.serviceAccounts.user или выше.
Важно
Если для доступа к объектам из Object Storage в кластере уже используется сервисный аккаунт, то его смена может привести к недоступности этих объектов и нарушению работы кластера. Перед изменением настроек сервисного аккаунта убедитесь, что кластер не использует соответствующие объекты.
Чтобы изменить настройки сервисного аккаунта:
- В консоли управления
выберите каталог, в котором находится кластер. - Перейдите в сервис Managed Service for ClickHouse.
- Выберите кластер и нажмите кнопку Редактировать на панели сверху.
- В разделе Сервисные настройки выберите нужный сервисный аккаунт из списка или создайте новый. Подробнее о настройке сервисного аккаунта см. в разделе Настройка доступа к Object Storage из кластера ClickHouse®.
Изменить класс хостов
Примечание
В кластерах с поддержкой ClickHouse® Keeper хосты ZooKeeper не используются. Подробнее см. в разделе Репликация.
При смене класса хостов:
- Кластер из одного хоста будет недоступен несколько минут, соединения с БД будут прерваны.
- В кластере из нескольких хостов каждый хост по очереди будет остановлен и обновлен. Остановленный хост будет недоступен несколько минут.
- Подключение по особому FQDN не гарантирует стабильность соединения с БД: пользовательские сессии могут быть прерваны.
Рекомендуется изменять класс хостов только во время отсутствия рабочей нагрузки на кластер.
Класс хостов влияет на количество оперативной памяти, доступной для использования ClickHouse®. Подробнее см. в разделе Управление памятью.
Минимальное количество ядер для одного хоста ZooKeeper зависит от суммарного количества ядер хостов ClickHouse®. Подробнее см. в разделе Репликация.
- В консоли управления
выберите каталог, в котором находится кластер. - Перейдите в сервис Managed Service for ClickHouse.
- Выберите кластер и нажмите кнопку Редактировать на панели сверху.
- Чтобы изменить класс хостов ClickHouse®, в блоке Ресурсы выберите платформу, тип виртуальной машины и нужный класс хоста.
- Чтобы изменить класс хостов ZooKeeper, в блоке Класс хоста ZooKeeper выберите платформу, тип виртуальной машины и нужный класс хоста ZooKeeper.
- Нажмите кнопку Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы изменить класс хостов для кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-clickhouse cluster update --help -
Запросите список доступных классов хостов (в колонке
ZONE IDSуказаны зоны доступности, в которых можно выбрать соответствующий класс):yc managed-clickhouse resource-preset list +-----------+--------------------------------+-------+----------+ | ID | ZONE IDS | CORES | MEMORY | +-----------+--------------------------------+-------+----------+ | s1.micro | ru-central1-a, ru-central1-b, | 2 | 8.0 GB | | | ru-central1-d | | | | ... | +-----------+--------------------------------+-------+----------+ -
Укажите нужный класс в команде изменения кластера:
yc managed-clickhouse cluster update <имя_или_идентификатор_кластера> \ --clickhouse-resource-preset=<идентификатор_класса>Managed Service for ClickHouse® запустит операцию изменения класса хостов для кластера.
-
Чтобы изменить класс хостов ZooKeeper, передайте нужное значение в параметре
--zookeeper-resource-preset.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените в описании кластера Managed Service for ClickHouse® значение параметра
resource_preset_idв блокахclickhouse.resourcesиzookeeper.resourcesдля хостов ClickHouse® и ZooKeeper соответственно:resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" { ... clickhouse { resources { resource_preset_id = "<класс_хостов_ClickHouse®>" ... } } zookeeper { resources { resource_preset_id = "<класс_хостов_ZooKeeper>" ... } } } -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform.
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for ClickHouse®:
- создание, в т. ч. путем восстановления из резервной копии, — 60 минут;
- изменение — 90 минут;
- удаление — 30 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts, например:
resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Запросите список доступных классов хостов:
-
Воспользуйтесь методом ResourcePreset.List и выполните запрос, например с помощью cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.cloud.yandex.net/managed-clickhouse/v1/resourcePresets' -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
-
Измените класс хостов на нужный:
-
Воспользуйтесь методом Cluster.Update и выполните запрос, например с помощью cURL
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask(одной строкой через запятую).curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.cloud.yandex.net/managed-clickhouse/v1/clusters/<идентификатор_кластера>' \ --data '{ "updateMask": "configSpec.clickhouse.resources.resourcePresetId,configSpec.zookeeper.resources.resourcePresetId", "configSpec": { "clickhouse": { "resources": { "resourcePresetId": "<идентификатор_класса_хостов_ClickHouse®>" } }, "zookeeper": { "resources": { "resourcePresetId": "<идентификатор_класса_хостов_ZooKeeper>" } } } }'Где:
-
updateMask— перечень изменяемых параметров в одну строку через запятую.Укажите нужные параметры:
configSpec.clickhouse.resources.resourcePresetId— если нужно изменить класс хостов ClickHouse®.configSpec.zookeeper.resources.resourcePresetId— если нужно изменить класс хостов ZooKeeper.
В примере запроса класс хостов изменяется и для хостов ClickHouse®, и для хостов ZooKeeper.
-
configSpec.clickhouse.resources.resourcePresetId— идентификатор класса хостов ClickHouse®. -
configSpec.zookeeper.resources.resourcePresetId— идентификатор класса хостов ZooKeeper.
Идентификатор кластера можно запросить со списком кластеров в каталоге. Список доступных классов хостов с их идентификаторами был получен ранее.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Запросите список доступных классов хостов:
-
Воспользуйтесь вызовом ResourcePresetService.List и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/clickhouse/v1/resource_preset_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.clickhouse.v1.ResourcePresetService.List -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
-
Измените класс хостов на нужный:
-
Воспользуйтесь вызовом ClusterService.Update и выполните запрос, например с помощью gRPCurl
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
update_mask(в виде массива строкpaths[]).Формат перечисления настроек
"update_mask": { "paths": [ "<настройка_1>", "<настройка_2>", ... "<настройка_N>" ] }grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/clickhouse/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "update_mask": { "paths": [ "config_spec.clickhouse.resources.resource_preset_id", "config_spec.zookeeper.resources.resource_preset_id" ] }, "config_spec": { "clickhouse": { "resources": { "resource_preset_id": "<идентификатор_класса_хостов_ClickHouse®>" } }, "zookeeper": { "resources": { "resource_preset_id": "<идентификатор_класса_хостов_ZooKeeper>" } } } }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.clickhouse.v1.ClusterService.UpdateГде:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].Укажите нужные параметры:
config_spec.clickhouse.resources.resource_preset_id— если нужно изменить класс хостов ClickHouse®.config_spec.zookeeper.resources.resource_preset_id— если нужно изменить класс хостов ZooKeeper.
В примере запроса класс хостов изменяется и для хостов ClickHouse®, и для хостов ZooKeeper.
-
config_spec.clickhouse.resources.resource_preset_id— идентификатор класса хостов ClickHouse®. -
config_spec.zookeeper.resources.resource_preset_id— идентификатор класса хостов ZooKeeper.
Идентификатор кластера можно запросить со списком кластеров в каталоге. Список доступных классов хостов с их идентификаторами был получен ранее.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Изменить тип диска и увеличить размер хранилища
Примечание
В кластерах с поддержкой ClickHouse® Keeper хосты ZooKeeper не используются. Подробнее см. в разделе Репликация.
Проверьте, что в облаке достаточно квот для увеличения хранилища. Откройте страницу Квоты
Важно
При изменении типа диска хосты кластера пересоздаются. Данные реплицированных таблиц сохраняются автоматически. Данные нереплицированных таблиц будут потеряны. Перед изменением типа диска преобразуйте нереплицированные таблицы в реплицированные или создайте резервную копию данных.
Примечание
Чтобы изменить тип диска на local-ssd, обратитесь в техническую поддержку
Чтобы изменить тип диска и увеличить размер хранилища для кластера:
- В консоли управления
выберите каталог, в котором находится кластер. - Перейдите в сервис Managed Service for ClickHouse.
- Выберите кластер и нажмите кнопку Редактировать на панели сверху.
- Чтобы изменить тип диска и увеличить размер хранилища для хостов ClickHouse®, выберите нужное значение в блоке Размер хранилища.
- Чтобы изменить тип диска и увеличить размер хранилища для хостов ZooKeeper, выберите нужное значение в блоке Размер хранилища ZooKeeper.
- Нажмите кнопку Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы изменить тип диска и увеличить размер хранилища для кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-clickhouse cluster update --help -
Укажите нужный тип диска и размер хранилища в команде изменения кластера:
yc managed-clickhouse cluster update <имя_или_идентификатор_кластера> \ --clickhouse-disk-size <размер_хранилища_ГБ> \ --clickhouse-disk-type <тип_диска>Новый размер хранилища должен быть не меньше, чем значение
disk_sizeв свойствах кластера.Имя и идентификатор кластера можно запросить со списком кластеров в каталоге.
-
Чтобы изменить тип диска и увеличить размер хранилища хостов ZooKeeper, передайте нужные значения в параметре
--zookeeper-disk-size.
Чтобы изменить тип диска и увеличить размер хранилища:
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените в описании кластера Managed Service for ClickHouse® значения параметров
disk_sizeиdisk_type_idв блокахclickhouse.resourcesиzookeeper.resourcesдля хостов ClickHouse® и ZooKeeper соответственно:resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" { ... clickhouse { resources { disk_size = <размер_хранилища_ГБ> disk_type_id = "<тип_диска>" ... } } zookeeper { resources { disk_size = <размер_хранилища_ГБ> disk_type_id = "<тип_диска>" ... } } } -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform.
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for ClickHouse®:
- создание, в т. ч. путем восстановления из резервной копии, — 60 минут;
- изменение — 90 минут;
- удаление — 30 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts, например:
resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Cluster.Update и выполните запрос, например с помощью cURL
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask(одной строкой через запятую).curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.cloud.yandex.net/managed-clickhouse/v1/clusters/<идентификатор_кластера>' \ --data '{ "updateMask": "configSpec.clickhouse.resources.diskSize,configSpec.clickhouse.resources.diskTypeId,configSpec.zookeeper.resources.diskSize,configSpec.zookeeper.resources.diskTypeId", "configSpec": { "clickhouse": { "resources": { "diskSize": "<размер_хранилища_в_байтах>", "diskTypeId": "<тип_диска>" } }, "zookeeper": { "resources": { "diskSize": "<размер_хранилища_в_байтах>", "diskTypeId": "<тип_диска>" } } } }'Где:
-
updateMask— перечень изменяемых параметров в одну строку через запятую.Укажите нужные параметры:
configSpec.clickhouse.resources.diskSize,configSpec.clickhouse.resources.diskTypeId— если нужно изменить тип диска и увеличить размер хранилища хостов ClickHouse®.configSpec.zookeeper.resources.diskSize,configSpec.zookeeper.resources.diskTypeId— если нужно изменить тип диска и увеличить размер хранилища хостов ZooKeeper.
В примере запроса размер хранилища и тип диска изменяются и для хостов ClickHouse®, и для хостов ZooKeeper.
-
configSpec.clickhouse.resources.diskSize— размер хранилища хостов ClickHouse® в байтах. -
configSpec.clickhouse.resources.diskTypeId— тип диска хостов ClickHouse®. -
configSpec.zookeeper.resources.diskSize— размер хранилища хостов ZooKeeper в байтах. -
configSpec.zookeeper.resources.diskTypeId— тип диска хостов ZooKeeper.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом ClusterService.Update и выполните запрос, например с помощью gRPCurl
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
update_mask(в виде массива строкpaths[]).Формат перечисления настроек
"update_mask": { "paths": [ "<настройка_1>", "<настройка_2>", ... "<настройка_N>" ] }grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/clickhouse/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "update_mask": { "paths": [ "config_spec.clickhouse.resources.disk_size", "config_spec.clickhouse.resources.disk_type_id", "config_spec.zookeeper.resources.disk_size", "config_spec.zookeeper.resources.disk_type_id" ] }, "config_spec": { "clickhouse": { "resources": { "disk_size": "<размер_хранилища_в_байтах>", "disk_type_id": "<тип_диска>" } }, "zookeeper": { "resources": { "disk_size": "<размер_хранилища_в_байтах>", "disk_type_id": "<тип_диска>" } } } }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.clickhouse.v1.ClusterService.UpdateГде:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].Укажите нужные параметры:
config_spec.clickhouse.resources.disk_size— если нужно увеличить размер хранилища хостов ClickHouse®.config_spec.clickhouse.resources.disk_type_id— если нужно изменить тип диска хостов ClickHouse®.config_spec.zookeeper.resources.disk_size— если нужно увеличить размер хранилища хостов ZooKeeper.config_spec.zookeeper.resources.disk_type_id— если нужно изменить тип диска хостов ZooKeeper.
В примере запроса размер хранилища и тип диска изменяются и для хостов ClickHouse®, и для хостов ZooKeeper.
-
config_spec.clickhouse.resources.disk_size— размер хранилища хостов ClickHouse® в байтах. -
config_spec.clickhouse.resources.disk_type_id— тип диска хостов ClickHouse®. -
config_spec.zookeeper.resources.disk_size— размер хранилища хостов ZooKeeper в байтах. -
config_spec.zookeeper.resources.disk_type_id— тип диска хостов ZooKeeper.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Настроить сервис координации
Вы можете включить сервис координации ClickHouse® Keeper или ZooKeeper, если он не был задан. Для включенного сервиса координации можно изменить его настройки.
Включить сервис координации
Важно
Хосты ClickHouse® Keeper и ZooKeeper учитываются в расчете использованной квоты ресурсов
-
В консоли управления
перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse. -
Нажмите на имя нужного кластера и перейдите на вкладку Хосты.
-
В правом верхнем углу страницы нажмите кнопку Настроить сервис координации.
-
В блоке Основные настройки выберите сервис координации.
-
В зависимости от выбранного сервиса задайте следующие настройки:
-
Для сервиса координации ZooKeeper (на отдельных хостах):
-
В блоке Класс хоста ZooKeeper выберите платформу, тип виртуальной машины и класс хоста.
-
В блоке Размер хранилища ZooKeeper выберите тип диска, размер хранилища и при необходимости задайте настройки автоматического увеличения размера хранилища ZooKeeper.
-
В блоке Хосты ZooKeeper:
-
При необходимости измените настройки автоматически добавленных хостов ZooKeeper.
Чтобы изменить настройки хоста, нажмите на значок
в строке нужного хоста и укажите:- Зона доступности — выберите зону доступности.
- Подсеть — выберите подсеть в выбранной зоне доступности.
-
Чтобы преобразовать нереплицируемые таблицы в реплицируемые, включите настройку Преобразовать нереплицируемые таблицы.
Нереплицируемые таблицы на движке семейства MergeTree
будут автоматически преобразованы в реплицируемые на движке ReplicatedMergeTree .После включения этой настройки ее нельзя отключить.
-
-
-
Для сервиса координации ClickHouse Keeper (на отдельных хостах):
-
В блоке Ресурсы ClickHouse Keeper выберите платформу, тип виртуальной машины и класс хоста.
-
В блоке Размер хранилища ClickHouse Keeper выберите тип диска, размер хранилища и при необходимости задайте настройки автоматического увеличения размера хранилища ClickHouse® Keeper.
-
В блоке Хосты ClickHouse Keeper:
-
При необходимости измените настройки автоматически добавленных хостов ClickHouse® Keeper.
Чтобы изменить настройки хоста, нажмите на значок
в строке нужного хоста и укажите:- Зона доступности — выберите зону доступности.
- Подсеть — выберите подсеть в выбранной зоне доступности.
-
Чтобы преобразовать нереплицируемые таблицы в реплицируемые, включите настройку Преобразовать нереплицируемые таблицы.
Нереплицируемые таблицы на движке семейства MergeTree
будут автоматически преобразованы в реплицируемые на движке ReplicatedMergeTree .После включения этой настройки ее нельзя отключить.
-
-
-
-
Нажмите кнопку Сохранить изменения.
Изменить настройки включенного сервиса координации
-
В консоли управления
перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse. -
Выберите кластер и нажмите кнопку Редактировать на панели сверху.
-
В зависимости от выбранного сервиса координации задайте следующие настройки:
-
Для сервиса координации ClickHouse Keeper (на отдельных хостах):
- В блоке Ресурсы ClickHouse Keeper выберите платформу, тип виртуальной машины и класс хоста;
- В блоке Размер хранилища ClickHouse Keeper выберите тип диска, размер хранилища и при необходимости задайте настройки автоматического увеличения размера хранилища ClickHouse® Keeper.
-
Для сервиса координации ZooKeeper (на отдельных хостах):
- В блоке Класс хоста ZooKeeper выберите платформу, тип виртуальной машины и класс хоста;
- В блоке Размер хранилища ZooKeeper выберите тип диска, размер хранилища и при необходимости задайте настройки автоматического увеличения размера хранилища ZooKeeper.
-
-
Нажмите кнопку Сохранить изменения.
Включить управление пользователями и базами данных через SQL
Сервис Managed Service for ClickHouse® позволяет включить управление пользователями и базами данных кластера через SQL.
Внимание
Управление пользователями и базами данных через стандартные интерфейсы Yandex Cloud (консоль управления, CLI, Terraform, API) станет недоступно.
Включенные настройки управления пользователями или базами данных через SQL невозможно выключить.
- В консоли управления
выберите каталог, в котором находится кластер. - Перейдите в сервис Managed Service for ClickHouse.
- Выберите кластер и нажмите кнопку Редактировать на панели сверху.
- Для управления пользователями через SQL, в блоке Настройки СУБД включите настройку Управление пользователями через SQL и укажите пароль пользователя
admin. - Для управления базами данных через SQL, в блоке Настройки СУБД включите настройки Управление пользователями через SQL и Управление базами данных через SQL, укажите пароль пользователя
admin. - Нажмите кнопку Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Чтобы включить режим управления пользователями через SQL:
- задайте значение
trueдля параметра--enable-sql-user-management; - задайте пароль для пользователя
adminв параметре--admin-password.
yc managed-clickhouse cluster update <имя_или_идентификатор_кластера> \ ... --enable-sql-user-management true \ --admin-password "<пароль_пользователя_admin>" - задайте значение
-
Чтобы включить режим управления базами данных через SQL:
- задайте значение
trueдля параметров--enable-sql-user-managementи--enable-sql-database-management; - задайте пароль для пользователя
adminв параметре--admin-password.
yc managed-clickhouse cluster update <имя_или_идентификатор_кластера> \ ... --enable-sql-user-management true \ --enable-sql-database-management true \ --admin-password "<пароль_пользователя_admin>" - задайте значение
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Чтобы включить режим управления пользователями через SQL, добавьте к описанию кластера поле
sql_user_managementсо значениемtrueи полеadmin_passwordс паролем пользователяadmin:resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" { name = "<имя_кластера>" ... admin_password = "<пароль_пользователя_admin>" sql_user_management = true ... } -
Чтобы включить режим управления базами данных через SQL, добавьте к описанию кластера поля
sql_user_managementиsql_database_managementсо значениемtrue, а также полеadmin_passwordс паролем пользователяadmin:resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" { name = "<имя_кластера>" ... admin_password = "<пароль_пользователя_admin>" sql_database_management = true sql_user_management = true ... } -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform.
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for ClickHouse®:
- создание, в т. ч. путем восстановления из резервной копии, — 60 минут;
- изменение — 90 минут;
- удаление — 30 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts, например:
resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Cluster.Update и выполните запрос, например с помощью cURL
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask(одной строкой через запятую).curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.cloud.yandex.net/managed-clickhouse/v1/clusters/<идентификатор_кластера>' \ --data '{ "updateMask": "configSpec.adminPassword,configSpec.sqlUserManagement,configSpec.sqlDatabaseManagement", "configSpec": { "adminPassword": "<пароль_пользователя_admin>", "sqlUserManagement": <управление_пользователями_через_SQL>, "sqlDatabaseManagement": <управление_базами_данных_через_SQL> } }'Где:
-
updateMask— перечень изменяемых параметров в одну строку через запятую.Укажите нужные параметры:
configSpec.adminPassword— пароль пользователяadmin, с помощью которого осуществляется управление.configSpec.sqlUserManagement— если нужно включить управление пользователями через SQL.configSpec.sqlDatabaseManagement— если нужно включить управление базами данных через SQL.
В примере запроса включается и управление пользователями, и управление базами данных черех SQL.
-
configSpec.adminPassword— пароль пользователяadmin. -
configSpec.sqlUserManagement— режим управления пользователями через SQL:trueилиfalse. -
configSpec.sqlDatabaseManagement— режим управления базами данных через SQL:trueилиfalse. Необходимо, чтобы был включен режим управления пользователями через SQL.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом ClusterService.Update и выполните запрос, например с помощью gRPCurl
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
update_mask(в виде массива строкpaths[]).Формат перечисления настроек
"update_mask": { "paths": [ "<настройка_1>", "<настройка_2>", ... "<настройка_N>" ] }grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/clickhouse/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "update_mask": { "paths": [ "config_spec.admin_password", "config_spec.sql_user_management", "config_spec.sql_database_management" ] }, "config_spec": { "admin_password": "<пароль_пользователя_admin>", "sql_user_management": <управление_пользователями_через_SQL>, "sql_database_management": <управление_базами_данных_через_SQL> } }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.clickhouse.v1.ClusterService.UpdateГде:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].Укажите нужные параметры:
config_spec.admin_password— пароль пользователяadmin, с помощью которого осуществляется управление.config_spec.sql_user_management— если нужно включить управление пользователями через SQL.config_spec.sql_database_management— если нужно включить управление базами данных через SQL.
В примере запроса включается и управление пользователями, и управление базами данных черех SQL.
-
config_spec.admin_password— пароль пользователяadmin. -
config_spec.sql_user_management— режим управления пользователями через SQL:trueилиfalse. -
config_spec.sql_database_management— режим управления базами данных через SQL:trueилиfalse. Необходимо, чтобы был включен режим управления пользователями через SQL.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Изменить дополнительные настройки кластера
-
В консоли управления
выберите каталог, в котором находится кластер. -
Перейдите в сервис Managed Service for ClickHouse.
-
Выберите кластер и нажмите кнопку Редактировать на панели сверху.
-
В блоке Размер хранилища:
-
(Опционально) Задайте настройки автоматического увеличения размера хранилища ClickHouse®:
- В поле Увеличивать размер выберите один или оба порога:
-
В окно обслуживания при заполненности более — порог для планового увеличения. При его достижении размер хранилища увеличивается во время ближайшего окна обслуживания.
Для планового увеличения необходимо настроить расписание окна обслуживания.
-
Незамедлительно при заполненности более — порог для незамедлительного увеличения. При его достижении размер хранилища увеличивается немедленно.
-
- Задайте пороговое значение (в процентах от общего размера хранилища). Если выбраны оба порога, значение для незамедлительного увеличения должно быть не меньше, чем для планового.
- Задайте Максимальный размер хранилища.
Настройки автоматического увеличения размера хранилища, заданные для ClickHouse®, применяются ко всем существующим шардам. При добавлении нового шарда значения настроек берутся с самого старого шарда.
- В поле Увеличивать размер выберите один или оба порога:
-
-
В блоке Сервисные настройки измените дополнительные настройки кластера:
-
Начало резервного копирования (UTC) — промежуток времени, в течение которого начинается резервное копирование кластера. Время указывается по UTC в 24-часовом формате. По умолчанию —
22:00 - 23:00UTC. -
Срок хранения автоматических резервных копий, дней — время, в течение которого нужно хранить созданные автоматически резервные копии (в днях). Если для такой копии истекает срок хранения, то она удаляется. Значение по умолчанию — 7 дней. Подробнее см. в разделе Резервные копии.
Изменение срока хранения затрагивает как новые автоматические резервные копии, так и уже существующие. Например, изначальный срок хранения был 7 дней, оставшееся время жизни отдельной автоматической резервной копии — 1 день. При увеличении срока хранения до 9 дней оставшееся время жизни этой резервной копии будет уже 3 дня.
-
Окно обслуживания — настройки времени технического обслуживания:
- Чтобы разрешить проведение технического обслуживания в любое время, выберите пункт произвольное (по умолчанию).
- Чтобы указать предпочтительное время начала обслуживания, выберите пункт по расписанию и укажите нужные день недели и час дня по UTC. Например, можно выбрать время, когда кластер наименее загружен.
Операции по техническому обслуживанию проводятся для включенных и выключенных кластеров. Они могут включать в себя: обновление СУБД, применение патчей и так далее.
-
Сервисный аккаунт — аккаунт, от имени которого пользовательские программы могут управлять кластером. Подробнее см. в документации Управление доступом в Managed Service for ClickHouse®.
-
Шифрование дисков — опция включает шифрование диска пользовательским ключом KMS. Задайте ключ одним из способов:
-
Чтобы создать новый ключ, нажмите кнопку Создать.
-
Чтобы использовать созданный ранее ключ, выберите его в поле Ключ KMS.
Подробнее о шифровании дисков см. в разделе Хранилище.
-
-
Доступ из DataLens — опция разрешает анализировать данные из кластера в сервисе Yandex DataLens.
-
Доступ из WebSQL — опция разрешает выполнять SQL-запросы к базам данных кластера из консоли управления Yandex Cloud с помощью сервиса Yandex WebSQL.
-
Доступ из Метрики и AppMetrica — опция разрешает импортировать данные из AppMetrica
в кластер. -
Доступ из Serverless — включите эту опцию, чтобы разрешить доступ к кластеру из сервиса Yandex Cloud Functions. Подробнее о настройке доступа см. в документации Cloud Functions.
-
Доступ из Yandex Query — включите эту опцию, чтобы разрешить доступ к кластеру из сервиса Yandex Query. Функциональность находится на стадии Preview.
-
Защита от удаления — управляет защитой кластера от непреднамеренного удаления.
Включенная защита кластера от удаления не помешает удалить пользователя или базу данных, а также подключиться вручную и удалить содержимое базы данных.
-
-
Нажмите кнопку Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы изменить дополнительные настройки кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-clickhouse cluster update --help -
Выполните команду, передав список настроек, которые хотите изменить:
yc managed-clickhouse cluster update <имя_или_идентификатор_кластера> \ --backup-window-start <время_начала_резервного_копирования> \ --backup-retain-period-days <срок_хранения_автоматических_резервных_копий> \ --datalens-access=<true_или_false> \ --metrika-access=<true_или_false> \ --serverless-access=<true_или_false> \ --websql-access=<true_или_false> \ --yandexquery-access=<true_или_false> \ --deletion-protection \ --disk-size-autoscaling clickhouse-disk-size-limit=<максимальный_размер_хранилища_ГБ>,` `clickhouse-planned-usage-threshold=<порог_для_планового_увеличения_в_процентах>,` `clickhouse-emergency-usage-threshold=<порог_для_незамедлительного_увеличения_в_процентах>,` `zookeeper-disk-size-limit=<максимальный_размер_хранилища_ГБ>,` `zookeeper-planned-usage-threshold=<порог_для_планового_увеличения_в_процентах>,` `zookeeper-emergency-usage-threshold=<порог_для_незамедлительного_увеличения_в_процентах> \ --maintenance-window type=<тип_технического_обслуживания>,` `day=<день_недели>,` `hour=<час_дня>
Вы можете изменить следующие настройки:
--backup-window-start— время начала резервного копирования кластера, задается по UTC в форматеHH:MM:SS. Если время не задано, резервное копирование начнется в 22:00 UTC.
-
--backup-retain-period-days– срок хранения автоматических резервных копий (в днях). -
--datalens-access— разрешает доступ из DataLens. Значение по умолчанию —false. Подробнее о настройке подключения см. в разделе Подключение из DataLens. -
--metrika-access— разрешает импорт данных из AppMetrika в кластер . Значение по умолчанию —false. -
--serverless-access— разрешает доступ к кластеру из сервиса Yandex Cloud Functions. Значение по умолчанию —false. Подробнее о настройке доступа см. в документации Cloud Functions. -
--websql-access— разрешает выполнять SQL-запросы к базам данных кластера из консоли управления Yandex Cloud с помощью сервиса Yandex WebSQL. Значение по умолчанию —false. -
--yandexquery-access=true— разрешает доступ к кластеру из сервиса Yandex Query. Функциональность находится на стадии Preview. Значение по умолчанию —false. -
--deletion-protection— защита кластера от непреднамеренного удаления:trueилиfalse.Включенная защита кластера от удаления не помешает удалить пользователя или базу данных, а также подключиться вручную и удалить содержимое базы данных.
-
--disk-size-autoscaling— настройки автоматического увеличения размера хранилища:-
clickhouse-disk-size-limit— максимальный размер хранилища ClickHouse®, в гигабайтах. -
clickhouse-planned-usage-threshold— порог заполнения хранилища ClickHouse® в процентах, при достижении которого оно будет увеличено в следующее окно обслуживания. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
clickhouse-emergency-usage-threshold— порог заполнения хранилища ClickHouse® в процентах, при достижении которого оно будет увеличено незамедлительно. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
zookeeper-disk-size-limit— максимальный размер хранилища ZooKeeper, в гигабайтах. -
zookeeper-planned-usage-threshold— порог заполнения хранилища ZooKeeper в процентах, при достижении которого оно будет увеличено в следующее окно обслуживания. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
zookeeper-emergency-usage-threshold— порог заполнения хранилища ZooKeeper в процентах, при достижении которого оно будет увеличено незамедлительно. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100.
Важно
-
Если заданы оба порога для ClickHouse®, значение
clickhouse-emergency-usage-thresholdдолжно быть не меньшеclickhouse-planned-usage-threshold. -
Если заданы оба порога для ZooKeeper, значение
zookeeper-emergency-usage-thresholdдолжно быть не меньшеzookeeper-planned-usage-threshold. -
При использовании параметров
clickhouse-planned-usage-thresholdиzookeeper-planned-usage-thresholdнеобходимо настроить окно технического обслуживания.
Настройки автоматического увеличения размера хранилища, заданные для ClickHouse®, применяются ко всем существующим шардам. При добавлении нового шарда значения настройки берутся с самого старого шарда. Эти значения не сохраняются в конфигурации ClickHouse® и не отображаются при выводе команды
yc managed-clickhouse cluster get.Чтобы посмотреть информацию о конкретном шарде, включая настройки автоматического увеличения размера хранилища, используйте команду:
yc managed-clickhouse shards get <имя_шарда> --cluster-id <идентификатор_кластера>Идентификатор кластера можно получить со списком кластеров в каталоге.
Имя шарда можно получить со списком шардов в кластере.
-
-
--maintenance-window— настройки времени технического обслуживания (в т. ч. для выключенных кластеров), гдеtype— тип технического обслуживания:anytime(по умолчанию) — в любое время.weekly— по расписанию. Для этого значения дополнительно укажите:day— день недели:MON,TUE,WED,THU,FRI,SATилиSUN.hour— час дня по UTC: от1до24.
Идентификатор и имя кластера можно получить со списком кластеров в каталоге.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Чтобы изменить время начала резервного копирования, добавьте к описанию кластера Managed Service for ClickHouse® блок
backup_window_start.resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" { ... backup_window_start { hours = <час_начала_резервного_копирования> minutes = <минута_начала_резервного_копирования> } ... } -
Чтобы разрешить доступ к кластеру из других сервисов и выполнение SQL-запросов из консоли управления с помощью Yandex WebSQL, измените значения соответствующих полей в блоке
access:resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" { ... access { data_lens = <доступ_из_DataLens> metrika = <доступ_из_Метрики_и_AppMetrika> serverless = <доступ_из_Cloud_Functions> web_sql = <выполнение_SQL-запросов_из_консоли_управления> yandex_query = <доступ_из_Yandex_Query> } ... }Где:
-
data_lens— доступ из DataLens:trueилиfalse. -
metrika— доступ из Метрики и AppMetrika:trueилиfalse. -
serverless— доступ из Cloud Functions:trueилиfalse. -
yandex_query— доступ из Yandex Query:trueилиfalse. -
web_sql— выполнение SQL-запросов из консоли управления:trueилиfalse.
-
-
Чтобы настроить время технического обслуживания (в т. ч. для выключенных кластеров), добавьте к описанию кластера блок
maintenance_window:resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" { ... maintenance_window { type = <тип_технического_обслуживания> day = <день_недели> hour = <час_дня> } ... }Где:
type— тип технического обслуживания. Принимает значения:ANYTIME— в любое время.WEEKLY— по расписанию.
day— день недели для типаWEEKLY:MON,TUE,WED,THU,FRI,SATилиSUN.hour— час дня по UTC для типаWEEKLY: от1до24.
-
Чтобы включить защиту кластера от непреднамеренного удаления пользователем вашего облака, добавьте к описанию кластера поле
deletion_protectionсо значениемtrue:resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" { ... deletion_protection = <защита_кластера_от_удаления> }Включенная защита кластера от удаления не помешает удалить пользователя или базу данных, а также подключиться вручную и удалить содержимое базы данных.
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform.
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for ClickHouse®:
- создание, в т. ч. путем восстановления из резервной копии, — 60 минут;
- изменение — 90 минут;
- удаление — 30 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts, например:
resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Cluster.Update и выполните запрос, например с помощью cURL
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask(одной строкой через запятую).-
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "updateMask": "<перечень_изменяемых_настроек>", "configSpec": { "backupWindowStart": { "hours": "<часы>", "minutes": "<минуты>", "seconds": "<секунды>", "nanos": "<наносекунды>" }, "clickhouse": { "diskSizeAutoscaling": { "plannedUsageThreshold": "<порог_для_планового_увеличения_в_процентах>", "emergencyUsageThreshold": "<порог_для_незамедлительного_увеличения_в_процентах>", "diskSizeLimit": "<максимальный_размер_хранилища_в_байтах>" } }, "zookeeper": { "diskSizeAutoscaling": { "plannedUsageThreshold": "<порог_для_планового_увеличения_в_процентах>", "emergencyUsageThreshold": "<порог_для_незамедлительного_увеличения_в_процентах>", "diskSizeLimit": "<максимальный_размер_хранилища_в_байтах>" } }, "access": { "dataLens": <доступ_из_DataLens>, "webSql": <выполнение_SQL-запросов>, "metrika": <импорт_данных_из_AppMetrica>, "serverless": <доступ_из_Yandex Cloud Functions>, "dataTransfer": <доступ_из_Yandex Data Transfer>, "yandexQuery": <доступ_из_Yandex Query> } }, "maintenanceWindow": { "anytime": {}, "weeklyMaintenanceWindow": { "day": "<день_недели>", "hour": "<час_дня_по_UTC>" } }, "deletionProtection": <защита_кластера_от_удаления> }Где:
-
updateMask— перечень изменяемых параметров в одну строку через запятую. -
configSpec.backupWindowStart— время начала резервного копирования (UTC):hours— часы в 24-часовом формате.minutes— минуты.seconds— секунды.nanos— наносекунды.
-
configSpec.access— настройки, которые разрешают доступ к кластеру из других сервисов и выполнение SQL-запросов из консоли управления с помощью Yandex WebSQL:-
dataLens— разрешить доступ из DataLens:trueилиfalse. Значение по умолчанию —false. Подробнее о настройке подключения см. в разделе Подключение из DataLens. -
webSql— разрешить выполнять SQL-запросы к базам данных кластера из консоли управления Yandex Cloud с помощью сервиса Yandex WebSQL:trueилиfalse. Значение по умолчанию —false. -
metrika— разрешить импорт данных из AppMetrika в кластер :trueилиfalse. Значение по умолчанию —false. -
serverless— разрешить доступ к кластеру из сервиса Yandex Cloud Functions:trueилиfalse. Значение по умолчанию —false. Подробнее о настройке доступа см. в документации Cloud Functions. -
dataTransfer— разрешить доступ к кластеру из сервиса Yandex Data Transfer в Serverless-режиме:trueилиfalse. Значение по умолчанию —false.Это позволит через специальную сеть подключаться к Yandex Data Transfer, запущенному в Kubernetes. В результате будут быстрее выполняться, например, запуск и деактивация трансфера.
-
yandexQuery— разрешить доступ к кластеру из сервиса Yandex Query:trueилиfalse. Функциональность находится на стадии Preview. Значение по умолчанию —false.
-
-
configSpec.clickhouse.diskSizeAutoscaling— настройки автоматического увеличения размера хранилища ClickHouse®:-
plannedUsageThreshold— порог заполнения хранилища ClickHouse® в процентах, при достижении которого оно будет увеличено в следующее окно обслуживания. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
emergencyUsageThreshold— порог заполнения хранилища ClickHouse® в процентах, при достижении которого оно будет увеличено незамедлительно. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
diskSizeLimit— максимальный размер хранилища ClickHouse®, в байтах.
Важно
-
Если заданы оба порога, значение
emergencyUsageThresholdдолжно быть не меньшеplannedUsageThreshold. -
При использовании параметра
plannedUsageThresholdнеобходимо настроить окно технического обслуживания.
Настройки автоматического увеличения размера хранилища, заданные для ClickHouse®, применяются ко всем существующим шардам. При добавлении нового шарда значения настройки берутся с самого старого шарда. Эти значения не сохраняются в конфигурации ClickHouse®.
Чтобы посмотреть информацию о конкретном шарде, включая настройки автоматического увеличения размера хранилища, воспользуйтесь методом Cluster.GetShard и передайте в запросе идентификатор кластера и имя шарда.
Идентификатор кластера можно получить со списком кластеров в каталоге.
Имя шарда можно получить со списком шардов в кластере.
-
-
configSpec.zookeeper.diskSizeAutoscaling— настройки автоматического увеличения размера хранилища ZooKeeper:-
plannedUsageThreshold— порог заполнения хранилища ZooKeeper в процентах, при достижении которого оно будет увеличено в следующее окно обслуживания. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
emergencyUsageThreshold— порог заполнения хранилища ZooKeeper в процентах, при достижении которого оно будет увеличено незамедлительно. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
diskSizeLimit— максимальный размер хранилища ZooKeeper, в байтах.
Важно
-
Если заданы оба порога, значение
emergencyUsageThresholdдолжно быть не меньшеplannedUsageThreshold. -
При использовании параметра
plannedUsageThresholdнеобходимо настроить окно технического обслуживания.
-
-
maintenanceWindow— настройки времени технического обслуживания (в т. ч. для выключенных кластеров). Выберите один из вариантов:anytime— (по умолчанию) — в любое время.weeklyMaintenanceWindow— по расписанию:day— день недели в форматеDDD:MON,TUE,WED,THU,FRI,SATилиSUN.hour— час дня по UTC в форматеHH: от1до24.
-
deletionProtection— защита кластера от непреднамеренного удаления:trueилиfalse. Значение по умолчанию —false.Включенная защита кластера от удаления не помешает удалить пользователя или базу данных, а также подключиться вручную и удалить содержимое базы данных.
-
-
Выполните запрос:
curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.cloud.yandex.net/managed-clickhouse/v1/clusters/<идентификатор_кластера>' \ --data '@body.json'Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом ClusterService.Update и выполните запрос, например с помощью gRPCurl
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
update_mask(в виде массива строкpaths[]).Формат перечисления настроек
"update_mask": { "paths": [ "<настройка_1>", "<настройка_2>", ... "<настройка_N>" ] }-
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "cluster_id": "<идентификатор_кластера>", "update_mask": { "paths": [ <перечень_изменяемых_настроек> ] }, "config_spec": { "backup_window_start": { "hours": "<часы>", "minutes": "<минуты>", "seconds": "<секунды>", "nanos": "<наносекунды>" }, "clickhouse": { "disk_size_autoscaling": { "planned_usage_threshold": "<порог_для_планового_увеличения_в_процентах>", "emergency_usage_threshold": "<порог_для_незамедлительного_увеличения_в_процентах>", "disk_size_limit": "<максимальный_размер_хранилища_в_байтах>" } }, "zookeeper": { "disk_size_autoscaling": { "planned_usage_threshold": "<порог_для_планового_увеличения_в_процентах>", "emergency_usage_threshold": "<порог_для_незамедлительного_увеличения_в_процентах>", "disk_size_limit": "<максимальный_размер_хранилища_в_байтах>" } }, "access": { "data_lens": <доступ_из_DataLens>, "web_sql": <выполнение_SQL-запросов>, "metrika": <импорт_данных_из_AppMetrica>, "serverless": <доступ_из_Yandex Cloud Functions>, "data_transfer": <доступ_из_Yandex Data Transfer>, "yandex_query": <доступ_из_Yandex Query> } }, "maintenance_window": { "anytime": {}, "weekly_maintenance_window": { "day": "<день_недели>", "hour": "<час_дня_по_UTC>" } }, "deletion_protection": <защита_кластера_от_удаления> }Где:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[]. -
config_spec.backup_window_start— время начала резервного копирования (UTC):hours— часы в 24-часовом формате.minutes— минуты.seconds— секунды.nanos— наносекунды.
-
config_spec.access— настройки, которые разрешают доступ к кластеру из других сервисов и выполнение SQL-запросов из консоли управления с помощью Yandex WebSQL:-
data_lens— разрешить доступ из DataLens:trueилиfalse. Значение по умолчанию —false. Подробнее о настройке подключения см. в разделе Подключение из DataLens. -
web_sql— разрешить выполнять SQL-запросы к базам данных кластера из консоли управления Yandex Cloud с помощью сервиса Yandex WebSQL:trueилиfalse. Значение по умолчанию —false. -
metrika— разрешить импорт данных из AppMetrika в кластер :trueилиfalse. Значение по умолчанию —false. -
serverless— разрешить доступ к кластеру из сервиса Yandex Cloud Functions:trueилиfalse. Значение по умолчанию —false. Подробнее о настройке доступа см. в документации Cloud Functions. -
data_transfer— разрешить доступ к кластеру из сервиса Yandex Data Transfer в Serverless-режиме:trueилиfalse. Значение по умолчанию —false.Это позволит через специальную сеть подключаться к Yandex Data Transfer, запущенному в Kubernetes. В результате будут быстрее выполняться, например, запуск и деактивация трансфера.
-
yandex_query— разрешить доступ к кластеру из сервиса Yandex Query:trueилиfalse. Функциональность находится на стадии Preview. Значение по умолчанию —false.
-
-
config_spec.clickhouse.disk_size_autoscaling— настройки автоматического увеличения размера хранилища ClickHouse®:-
planned_usage_threshold— порог заполнения хранилища ClickHouse® в процентах, при достижении которого оно будет увеличено в следующее окно обслуживания. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
emergency_usage_threshold— порог заполнения хранилища ClickHouse® в процентах, при достижении которого оно будет увеличено незамедлительно. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
disk_size_limit— максимальный размер хранилища ClickHouse®, в байтах.
Важно
-
Если заданы оба порога, значение
emergency_usage_thresholdдолжно быть не меньшеplanned_usage_threshold. -
При использовании параметра
planned_usage_thresholdнеобходимо настроить окно технического обслуживания.
Настройки автоматического увеличения размера хранилища, заданные для ClickHouse®, применяются ко всем существующим шардам. При добавлении нового шарда значения настройки берутся с самого старого шарда. Эти значения не сохраняются в конфигурации ClickHouse®.
Чтобы посмотреть информацию о конкретном шарде, включая настройки автоматического увеличения размера хранилища, воспользуйтесь методом ClusterService.GetShard и передайте в запросе идентификатор кластера и имя шарда.
Идентификатор кластера можно получить со списком кластеров в каталоге.
Имя шарда можно получить со списком шардов в кластере.
-
-
config_spec.zookeeper.disk_size_autoscaling— настройки автоматического увеличения размера хранилища ZooKeeper:-
planned_usage_threshold— порог заполнения хранилища ZooKeeper в процентах, при достижении которого оно будет увеличено в следующее окно обслуживания. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
emergency_usage_threshold— порог заполнения хранилища ZooKeeper в процентах, при достижении которого оно будет увеличено незамедлительно. По умолчанию —0(автоматическое увеличение отключено).Допустимые значения: от
0до100. -
disk_size_limit— максимальный размер хранилища ZooKeeper, в байтах.
Важно
-
Если заданы оба порога, значение
emergency_usage_thresholdдолжно быть не меньшеplanned_usage_threshold. -
При использовании параметра
planned_usage_thresholdнеобходимо настроить окно технического обслуживания.
-
-
maintenance_window— настройки времени технического обслуживания (в т. ч. для выключенных кластеров). Выберите один из вариантов:anytime— (по умолчанию) — в любое время.weekly_maintenance_window— по расписанию:day— день недели в форматеDDD:MON,TUE,WED,THU,FRI,SATилиSUN.hour— час дня по UTC в форматеHH: от1до24.
-
deletion_protection— защита кластера от непреднамеренного удаления:trueилиfalse. Значение по умолчанию —false.Включенная защита кластера от удаления не помешает удалить пользователя или базу данных, а также подключиться вручную и удалить содержимое базы данных.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Выполните запрос:
grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/clickhouse/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d @ \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.clickhouse.v1.ClusterService.Update \ < body.json
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Connection Manager
Если в кластере не включена интеграция с сервисом Connection Manager, включите опцию Использовать Connection Manager. Она доступна только в консоли управления
Для каждого пользователя БД будут созданы:
-
Подключение Connection Manager с информацией о соединении с БД.
-
Секрет Yandex Lockbox, в котором хранится пароль пользователя. Хранение паролей в сервисе Yandex Lockbox обеспечивает их безопасность.
Подключение и секрет создаются для каждого нового пользователя БД. Чтобы увидеть все подключения, на странице кластера выберите вкладку Подключения.
Для просмотра информации о подключении требуется роль
connection-manager.viewer. Вы можете настраивать доступ к подключениям в Connection Manager.Примечание
Использование сервиса Connection Manager и секретов, созданных с его помощью, не тарифицируется.
Переместить кластер
- В консоли управления
выберите каталог, в котором находится кластер. - Перейдите в сервис Managed Service for ClickHouse.
- Нажмите на значок
справа в строке кластера, который вы хотите переместить. - Выберите пункт Переместить.
- Выберите каталог, в который вы хотите переместить кластер.
- Нажмите кнопку Переместить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы переместить кластер:
-
Посмотрите описание команды CLI для перемещения кластера:
yc managed-clickhouse cluster move --help -
Укажите каталог назначения в команде перемещения кластера:
yc managed-clickhouse cluster move <имя_или_идентификатор_кластера> \ --destination-folder-name=<имя_каталога_назначения>Идентификатор кластера можно получить со списком кластеров в каталоге.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените или добавьте в описании кластера Managed Service for ClickHouse® значение параметра
folder_id:resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" { ... folder_id = "<идентификатор_каталога_назначения>" } -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform.
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for ClickHouse®:
- создание, в т. ч. путем восстановления из резервной копии, — 60 минут;
- изменение — 90 минут;
- удаление — 30 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts, например:
resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Cluster.Move и выполните запрос, например с помощью cURL
:curl \ --request POST \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.cloud.yandex.net/managed-clickhouse/v1/clusters/<идентификатор_кластера>:move' \ --data '{ "destinationFolderId": "<идентификатор_каталога_назначения>" }'Где
destinationFolderId— идентификатор каталога назначения, в который нужно переместить кластер. Этот идентификатор можно запросить со списком каталогов в облаке.Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом ClusterService.Move и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/clickhouse/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "destination_folder_id": "<идентификатор_каталога_назначения>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.clickhouse.v1.ClusterService.MoveГде
destination_folder_id— идентификатор каталога назначения, в который нужно переместить кластер. Этот идентификатор можно запросить со списком каталогов в облаке.Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Изменить группы безопасности
- В консоли управления
выберите каталог, в котором находится кластер. - Перейдите в сервис Managed Service for ClickHouse.
- Выберите кластер и нажмите кнопку Редактировать на панели сверху.
- В блоке Сетевые настройки выберите группы безопасности для сетевого трафика кластера.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы изменить список групп безопасности для кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-clickhouse cluster update --help -
Укажите нужные группы безопасности в команде изменения кластера:
yc managed-clickhouse cluster update <имя_кластера> \ --security-group-ids <список_идентификаторов_групп_безопасности>
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените значение параметра
security_group_idsв описании кластера:resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" { ... security_group_ids = [ <список_идентификаторов_групп_безопасности_кластера> ] } -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform.
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for ClickHouse®:
- создание, в т. ч. путем восстановления из резервной копии, — 60 минут;
- изменение — 90 минут;
- удаление — 30 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок timeouts, например:
resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" {
...
timeouts {
create = "1h30m" # Полтора часа
update = "2h" # 2 часа
delete = "30m" # 30 минут
}
}
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Cluster.Update и выполните запрос, например с помощью cURL
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask(одной строкой через запятую).curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.cloud.yandex.net/managed-clickhouse/v1/clusters/<идентификатор_кластера>' \ --data '{ "updateMask": "securityGroupIds", "securityGroupIds": [ <список_идентификаторов_групп_безопасности> ] }'Где:
-
updateMask— перечень изменяемых параметров в одну строку через запятую.В данном случае указан только один параметр:
securityGroupIds. -
securityGroupIds— массив строк. Каждая строка — идентификатор группы безопасности.Важно
Список назначенных кластеру групп безопасности будет полностью перезаписан списком, переданным в параметре
securityGroupIds.Перед выполнением запроса убедитесь, что вы включили в этот список все нужные идентификаторы групп безопасности, в том числе существующие.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом ClusterService.Update и выполните запрос, например с помощью gRPCurl
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
update_mask(в виде массива строкpaths[]).Формат перечисления настроек
"update_mask": { "paths": [ "<настройка_1>", "<настройка_2>", ... "<настройка_N>" ] }grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/clickhouse/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "update_mask": { "paths": [ "security_group_ids" ] }, "security_group_ids": [ <список_идентификаторов_групп_безопасности> ] }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.clickhouse.v1.ClusterService.UpdateГде:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].В данном случае указан только один параметр:
security_group_ids. -
security_group_ids— массив строк. Каждая строка — идентификатор группы безопасности.Важно
Список назначенных кластеру групп безопасности будет полностью перезаписан списком, переданным в параметре
security_group_ids.Перед выполнением запроса убедитесь, что вы включили в этот список все нужные идентификаторы групп безопасности, в том числе существующие.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Важно
Может потребоваться дополнительная настройка групп безопасности для подключения к кластеру.
Изменить настройки гибридного хранилища
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы изменить настройки гибридного хранилища:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-clickhouse cluster update --help -
Если гибридное хранилище в кластере выключено, включите его:
yc managed-clickhouse cluster update <имя_или_идентификатор_кластера> \ --cloud-storage=trueПримечание
Включенное однажды гибридное хранилище нельзя отключить.
-
Передайте список настроек, которые хотите изменить:
yc managed-clickhouse cluster update <имя_или_идентификатор_кластера> \ --cloud-storage-data-cache=<хранение_файлов> \ --cloud-storage-data-cache-max-size=<объем_памяти_в_байтах> \ --cloud-storage-move-factor=<доля_свободного_места> \ --cloud-storage-prefer-not-to-merge=<слияние_кусков_данных>Вы можете изменить следующие настройки:
--cloud-storage-data-cache— разрешает временное хранение файлов в кластерном хранилище. По умолчанию —true(разрешено).--cloud-storage-data-cache-max-size— определяет максимальный объем памяти (в байтах), выделяемый в кластерном хранилище для временного хранения файлов. По умолчанию —1073741824(1 ГБ).--cloud-storage-move-factor— устанавливает минимальную долю свободного места в кластерном хранилище. Если доля свободного места меньше этого значения, данные переносятся в Yandex Object Storage. Минимальное значение —0, максимальное —1, по умолчанию —0.01.--cloud-storage-prefer-not-to-merge— отключает слияние кусков данных в кластерном и объектном хранилищах. Чтобы отключить слияние, укажите значениеtrueили передайте параметр без значения. Чтобы оставить слияние включенным, укажите значениеfalseили не передавайте параметр в команде CLI при создании кластера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Cluster.Update и выполните запрос, например с помощью cURL
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask(одной строкой через запятую).curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.cloud.yandex.net/managed-clickhouse/v1/clusters/<идентификатор_кластера>' \ --data '{ "updateMask": "<перечень_изменяемых_настроек>", "configSpec": { "cloudStorage": { "enabled": <использование_гибридного_хранилища>, "moveFactor": "<доля_свободного_места>", "dataCacheEnabled": <временное_хранение_файлов>, "dataCacheMaxSize": "<максимальный_объем_памяти_для_хранения_файлов>", "preferNotToMerge": <отключение_слияния_кусков_данных> } } }'Где:
-
updateMask— перечень изменяемых параметров в одну строку через запятую. -
configSpec.cloudStorage— настройки гибридного хранилища:-
enabled— включить гибридное хранилище в кластере, если оно выключено:trueилиfalse. Значение по умолчанию —false(выключено).Примечание
Включенное однажды гибридное хранилище нельзя отключить.
-
moveFactor— минимальная доля свободного места в кластерном хранилище. Если доля свободного места меньше этого значения, данные переносятся в Yandex Object Storage.Минимальное значение —
0, максимальное —1, по умолчанию —0.01. -
dataCacheEnabled— разрешить временное хранение файлов в кластерном хранилище:trueилиfalse.По умолчанию —
true(разрешено). -
dataCacheMaxSize— максимальный объем памяти (в байтах), выделяемый в кластерном хранилище для временного хранения файлов.По умолчанию —
1073741824(1 ГБ). -
preferNotToMerge— отключить слияние кусков данных в кластерном и объектном хранилищах:trueилиfalse.Чтобы отключить слияние, укажите значение
true. Чтобы оставить слияние включенным, укажите значениеfalse.
-
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом ClusterService.Update и выполните запрос, например с помощью gRPCurl
:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
update_mask(в виде массива строкpaths[]).Формат перечисления настроек
"update_mask": { "paths": [ "<настройка_1>", "<настройка_2>", ... "<настройка_N>" ] }grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/clickhouse/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "update_mask": { "paths": [ <перечень_изменяемых_настроек> ] }, "config_spec": { "cloud_storage": { "enabled": <использование_гибридного_хранилища>, "move_factor": "<доля_свободного_места>", "data_cache_enabled": <временное_хранение_файлов>, "data_cache_max_size": "<максимальный_объем_памяти_для_хранения_файлов>", "prefer_not_to_merge": <отключение_слияния_кусков_данных> } } }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.clickhouse.v1.ClusterService.UpdateГде:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[]. -
config_spec.cloud_storage— настройки гибридного хранилища:-
enabled— включить гибридное хранилище в кластере, если оно выключено:trueилиfalse. Значение по умолчанию —false(выключено).Примечание
Включенное однажды гибридное хранилище нельзя отключить.
-
move_factor— минимальная доля свободного места в кластерном хранилище. Если доля свободного места меньше этого значения, данные переносятся в Yandex Object Storage.Минимальное значение —
0, максимальное —1, по умолчанию —0.01. -
data_cache_enabled— разрешить временное хранение файлов в кластерном хранилище:trueилиfalse.По умолчанию —
true(разрешено). -
data_cache_max_size— максимальный объем памяти (в байтах), выделяемый в кластерном хранилище для временного хранения файлов.По умолчанию —
1073741824(1 ГБ). -
prefer_not_to_merge— отключить слияние кусков данных в кластерном и объектном хранилищах:trueилиfalse.Чтобы отключить слияние, укажите значение
true. Чтобы оставить слияние включенным, укажите значениеfalse.
-
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc