Управление группами шардов в кластере ClickHouse®
Вы можете сгруппировать несколько шардов кластера ClickHouse® в группу шардов и затем размещать таблицы в этой группе.
Получить список групп шардов в кластере
- В консоли управления
перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse. - Нажмите на имя нужного кластера и выберите вкладку Группы шардов.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить список групп шардов в кластере, выполните команду:
yc managed-clickhouse shard-groups list \
--cluster-name=<имя_кластера>
Имя кластера можно запросить со списком кластеров в каталоге.
Чтобы получить список групп шардов в кластере, воспользуйтесь методом REST API listShardGroups для ресурса Cluster или вызовом gRPC API ClusterService/ListShardGroups и передайте в запросе идентификатор требуемого кластера в параметре clusterId
.
Чтобы узнать идентификатор, получите список кластеров в каталоге.
Получить детальную информацию о группе шардов
- В консоли управления
перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse. - Нажмите на имя нужного кластера и выберите вкладку Группы шардов.
- Выберите группу шардов для просмотра детальной информации о ней.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить детальную информацию о группе шардов в кластере, выполните команду:
yc managed-clickhouse shard-groups get \
--cluster-name=<имя_кластера> \
--name=<имя_группы_шардов>
Имя кластера можно запросить со списком кластеров в каталоге.
Чтобы получить детальную информацию о группе шардов, воспользуйтесь методом REST API getShardGroup для ресурса Cluster или вызовом gRPC API ClusterService/GetShardGroup и передайте в запросе:
- Идентификатор требуемого кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Имя группы шардов в параметре
shardGroupName
. Чтобы узнать имя, получите список групп шардов в кластере.
Создать группу шардов
- В консоли управления
перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse. - Нажмите на имя нужного кластера и выберите вкладку Группы шардов.
- Нажмите кнопку Создать группу шардов.
- Заполните поля формы и нажмите кнопку Применить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы создать группу шардов в кластере, выполните команду:
yc managed-clickhouse shard-groups create \
--cluster-name=<имя_кластера> \
--name=<имя_группы_шардов> \
--description=<описание_группы_шардов> \
--shards=<список_имен_шардов>
Где --shards
— список имен шардов, которые нужно включить в группу.
Имя кластера можно запросить со списком кластеров в каталоге.
Имена шардов можно запросить со списком шардов в кластере.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Добавьте к описанию кластера Managed Service for ClickHouse® блок описания группы шардов
shard_group
.resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" { ... shard_group { name = "<имя_группы_шардов>" description = "<необязательное_описание_группы_шардов>" shard_names = [ # Список шардов, входящих в группу "<имя_шарда_1>", ... "<имя_шарда_N>" ] } }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы 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 минут
}
}
Чтобы создать группу шардов, воспользуйтесь методом REST API createShardGroup для ресурса Cluster или вызовом gRPC API ClusterService/CreateShardGroup и передайте в запросе:
- Идентификатор кластера, в котором требуется создать группу, в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Имя группы шардов в параметре
shardGroupName
. - Список имен шардов, которые требуется включить в группу, в параметре
shardNames
. Чтобы узнать имена, получите список шардов в кластере. - При необходимости, описание группы шардов в параметре
description
.
Изменить группу шардов
- В консоли управления
перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse. - Нажмите на имя нужного кластера и выберите вкладку Группы шардов.
- Нажмите на значок
для нужной группы шардов и выберите пункт Редактировать.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить группу шардов в кластере, выполните команду:
yc managed-clickhouse shard-groups update \
--cluster-name=<имя_кластера> \
--name=<имя_группы_шардов> \
--description=<новое_описание_группы_шардов> \
--shards=<новый_список_имен_шардов>
Где --shards
— новый список имен шардов, которые нужно включить в группу.
Эта команда заменяет существующий список шардов в группе новым, который был передан команде в параметре --shards
. Перед выполнением команды убедитесь, что вы включили в новый список все необходимые шарды.
Имя кластера можно запросить со списком кластеров в каталоге.
Имя группы шардов можно запросить со списком групп шардов в кластере.
Имена шардов можно запросить со списком шардов в кластере.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Измените в описании кластера Managed Service for ClickHouse® блок
shard_group
с нужной группой шардов:resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" { ... shard_group { name = "<новое_имя_группы_шардов>" description = "<новое_описание_группы_шардов>" shard_names = [ # Новый список входящих в группу шардов "<имя_шарда_1>", ... "<имя_шарда_N>" ] } }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы 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 минут
}
}
Чтобы изменить группу шардов, воспользуйтесь методом REST API updateShardGroup для ресурса Cluster или вызовом gRPC API ClusterService/UpdateShardGroup и передайте в запросе:
- Идентификатор кластера, в котором требуется изменить группу, в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Имя группы шардов в параметре
shardGroupName
. Чтобы узнать имя, получите список групп шардов в кластере. - При необходимости, новое описание группы шардов в параметре
description
. - При необходимости, новый список имен шардов, которые требуется включить в группу, в параметре
shardNames
. Чтобы узнать имена, получите список шардов в кластере. Этот список заменит собой текущий: убедитесь, что вы включили в новый список все необходимые шарды. - Имена изменяемых параметров в параметре
updateMask
.
Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Удалить группу шардов
Удаление группы шардов не затрагивает входящие в нее шарды — они остаются в кластере.
Таблицы, созданные поверх удаляемой группы, остаются, но становятся неработоспособными: попытки выполнить запрос к ним приведут к ошибкам. Однако такие таблицы можно удалить до или после удаления группы шардов.
- В консоли управления
перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse. - Нажмите на имя нужного кластера и выберите вкладку Группы шардов.
- Нажмите на значок
для нужной группы шардов и выберите пункт Удалить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы удалить группу шардов в кластере, выполните команду:
yc managed-clickhouse shard-groups delete \
--cluster-name=<имя_кластера> \
--name=<имя_группы_шардов>
Имя кластера можно запросить со списком кластеров в каталоге.
Имя группы шардов можно запросить со списком групп шардов в кластере.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Удалите из описания кластера Managed Service for ClickHouse® блок описания нужной группы шардов
shard_group
. -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Введите слово
yes
и нажмите Enter.-
Выполните команду для просмотра планируемых изменений:
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 минут
}
}
Чтобы удалить группу шардов, воспользуйтесь методом REST API deleteShardGroup для ресурса Cluster или вызовом gRPC API ClusterService/DeleteShardGroup и передайте в запросе:
- Идентификатор кластера, из которого требуется удалить группу, в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Имя группы шардов в параметре
shardGroupName
. Чтобы узнать имя, получите список групп шардов в кластере.
ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc