Обновление версии ClickHouse®
Вы можете изменить версию ClickHouse®, которую использует кластер, на любую из поддерживаемых Managed Service for ClickHouse® версий, но при этом запрещен переход:
- с версии 22.0 и выше на версию ниже 22.0;
- на версию ниже 22.8, если кластер создан с поддержкой ClickHouse® Keeper.
Об обновлениях в рамках одной версии и обслуживании хостов см. в разделе Техническое обслуживание.
Список доступных версий
Посмотреть список доступных версий можно на экране создания или изменения кластера в консоли управления
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить список доступных версий, выполните команду:
yc managed-clickhouse version list
Чтобы посмотреть список доступных версий, воспользуйтесь методом REST API list для ресурса Versions или вызовом gRPC API VersionsService/List.
Перед обновлением версии
Убедитесь, что это не нарушит работу ваших приложений:
- Посмотрите в истории изменений
ClickHouse®, как обновления могут повлиять на работу ваших приложений. - Попробуйте обновить версию на тестовом кластере. Его можно развернуть из резервной копии основного кластера. В этом случае восстановятся только таблицы на движке MergeTree.
- Создайте резервную копию основного кластера непосредственно перед обновлением версии.
Обновить версию
- В консоли управления
откройте страницу сервиса Managed Service for ClickHouse в каталоге, где нужно обновить версию ClickHouse®. - В списке кластеров выберите тот, который нужно изменить.
- Нажмите кнопку Изменить кластер.
- В блоке Базовые параметры в поле Версия выберите нужную версию.
- Нажмите кнопку Сохранить изменения.
После того как изменение версии запущено, кластер переходит в статус UPDATING. Дождитесь окончания операции и проверьте версию кластера.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Получите список ваших кластеров ClickHouse®:
yc managed-clickhouse cluster list +----------------------+---------------+---------------------+--------+---------+ | ID | NAME | CREATED AT | HEALTH | STATUS | +----------------------+---------------+---------------------+--------+---------+ | c9q8p8j2gaih******** | clickhouse691 | 2019-04-23 12:44:17 | ALIVE | RUNNING | +----------------------+---------------+---------------------+--------+---------+
-
Получите информацию о нужном кластере и проверьте версию ClickHouse® в вашем кластере, указанную в свойстве
config.version
:yc managed-clickhouse cluster get c9q8p8j2gaih******** id: c9q8p8j2gaih******** folder_id: b1gqs1teo2q2******** created_at: "2019-04-23T12:44:17.929853Z" name: clickhouse691 environment: PRODUCTION monitoring: - name: Console description: Console charts link: https://console.yandex.cloud/folders/b1gqs1teo2q2********/managed-clickhouse/cluster/c9q8p8j2gaih********?section=monitoring config: version: "19.1" ...
-
Обновите версию ClickHouse®:
yc managed-clickhouse cluster update --id c9q8p8j2gaih******** --version 19.4
После того как обновление запущено, кластер переходит в статус UPDATING. Дождитесь окончания операции и затем проверьте версию кластера.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
-
Добавьте к описанию кластера Managed Service for ClickHouse® поле
version
или измените его значение, если оно уже существует:resource "yandex_mdb_clickhouse_cluster" "<имя_кластера>" { ... version = "<версия_ClickHouse®>" }
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы 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 update для ресурса Cluster или вызовом gRPC API ClusterService/Update и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Нужное значение в параметре
configSpec.clickhouse.config.version
. - Список настроек, которые необходимо изменить (в данном случае —
configSpec.clickhouse.config.version
), в параметреupdateMask
.
Важно
Этот метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc