Управление группами шардов
Вы можете сгруппировать несколько шардов кластера ClickHouse в группу шардов и затем размещать таблицы в этой группе.
Получить список групп шардов в кластере
- Перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse.
- Нажмите на имя нужного кластера и выберите вкладку Группы шардов.
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить список групп шардов в кластере, выполните команду:
$ yc managed-clickhouse shard-groups list
--cluster-name=<имя кластера>
Имя кластера можно запросить со списком кластеров в каталоге.
Воспользуйтесь методом API listShardGroups: передайте идентификатор требуемого кластера в параметре clusterId
запроса.
Чтобы узнать идентификатор, получите список кластеров в каталоге.
Получить детальную информацию о группе шардов
- Перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse.
- Нажмите на имя нужного кластера и выберите вкладку Группы шардов.
- Выберите группу шардов для просмотра детальной информации о ней.
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить детальную информацию о группе шардов в кластере, выполните команду:
$ yc managed-clickhouse shard-groups get
--cluster-name=<имя кластера>
--name=<имя группы шардов>
Имя кластера можно запросить со списком кластеров в каталоге.
Воспользуйтесь методом API 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=<список имен шардов, которые нужно включить в группу>
Имя кластера можно запросить со списком кластеров в каталоге.
Имена шардов можно запросить со списком шардов в кластере.
Чтобы создать группу шардов:
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание ClickHouse-кластера.
-
Добавьте к описанию кластера Managed Service for ClickHouse блок описания группы шардов
shard_group
.resource "yandex_mdb_clickhouse_cluster" "<имя кластера>" { ... shard_group { name = "<имя группы шардов>" description = "<необязательное описание группы шардов>" shard_names = [ # Список шардов, входящих в группу "<имя шарда 1>", ... "<имя шарда N>" ] } }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором вы создали конфигурационный файл.
-
Выполните проверку с помощью команды:
terraform plan
Если конфигурация описана верно, в терминале отобразится список изменяемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет. Это проверочный этап: ресурсы не будут изменены.
-
-
Подтвердите изменение ресурсов.
-
Если в конфигурации нет ошибок, выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Подробнее см. в документации провайдера Terraform.
Воспользуйтесь методом API 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
. Перед выполнением команды убедитесь, что вы включили в новый список все необходимые шарды.
Имя кластера можно запросить со списком кластеров в каталоге.
Имя группы шардов можно запросить со списком групп шардов в кластере.
Имена шардов можно запросить со списком шардов в кластере.
Чтобы изменить группу шардов:
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание ClickHouse-кластера.
-
Измените в описании кластера Managed Service for ClickHouse блок
shard_group
с нужной группой шардов.resource "yandex_mdb_clickhouse_cluster" "<имя кластера>" { ... shard_group { name = "<новое имя группы шардов>" description = "<новое описание группы шардов>" shard_names = [ # Новый список входящих в группу шардов "<имя шарда 1>", ... "<имя шарда N>" ] } }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором вы создали конфигурационный файл.
-
Выполните проверку с помощью команды:
terraform plan
Если конфигурация описана верно, в терминале отобразится список изменяемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет. Это проверочный этап: ресурсы не будут изменены.
-
-
Подтвердите изменение ресурсов.
-
Если в конфигурации нет ошибок, выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Подробнее см. в документации провайдера Terraform.
Воспользуйтесь методом API updateShardGroup и передайте в запросе:
- Идентификатор кластера, в котором требуется изменить группу, в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Имя группы шардов в параметре
shardGroupName
. Чтобы узнать имя, получите список групп шардов в кластере. - При необходимости, новое описание группы шардов в параметре
description
. - При необходимости, новый список имен шардов, которые требуется включить в группу, в параметре
shardNames
. Чтобы узнать имена, получите список шардов в кластере. Этот список заменит собой текущий: убедитесь, что вы включили в новый список все необходимые шарды. - Имена изменяемых параметров в параметре
updateMask
. Если не задать этот параметр, то метод API заменит все настройки группы шардов на значения по умолчанию.
Удалить группу шардов
Удаление группы шардов не затрагивает входящие в нее шарды — они остаются в кластере.
Таблицы, созданные поверх удаляемой группы, остаются, но становятся неработоспособными: попытки выполнить запрос к ним приведут к ошибкам. Однако такие таблицы можно удалить до или после удаления группы шардов.
- Перейдите на страницу каталога и выберите сервис Managed Service for ClickHouse.
- Нажмите на имя нужного кластера и выберите вкладку Группы шардов.
- Нажмите значок для нужной группы шардов и выберите пункт Удалить.
Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы удалить группу шардов в кластере, выполните команду:
$ yc managed-clickhouse shard-groups delete
--cluster-name=<имя кластера>
--name=<имя группы шардов>
Имя кластера можно запросить со списком кластеров в каталоге.
Имя группы шардов можно запросить со списком групп шардов в кластере.
Чтобы удалить группу шардов:
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание ClickHouse-кластера.
-
Удалите из описания кластера Managed Service for ClickHouse блок описания нужной группы шардов
shard_group
. -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором вы создали конфигурационный файл.
-
Выполните проверку с помощью команды:
terraform plan
Если конфигурация описана верно, в терминале отобразится список изменяемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет. Это проверочный этап: ресурсы не будут изменены.
-
-
Подтвердите удаление ресурсов.
-
Если в конфигурации нет ошибок, выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Подробнее см. в документации провайдера Terraform.
Чтобы удалить группу шардов в кластере, воспользуйтесь методом API deleteShardGroup и передайте в запросе:
- Идентификатор кластера, из которого требуется удалить группу, в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Имя группы шардов в параметре
shardGroupName
. Чтобы узнать имя, получите список групп шардов в кластере.