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

Изменение версии ClickHouse

Статья создана
Yandex Cloud
  • Список доступных версий
  • Перед изменением версии
  • Изменить версию

Вы можете изменить версию ClickHouse, которую использует кластер, на любую из поддерживаемых Managed Service for ClickHouse версий, но при этом запрещен переход:

  • c версии 22.0 и выше на версию ниже 22.0;
  • на версию ниже 22.3, если кластер создан с поддержкой ClickHouse Keeper.

Об обновлениях в рамках одной версии и обслуживании хостов см. в разделе Техническое обслуживание.

Список доступных версий

Консоль управления
CLI
API

Посмотреть список доступных версий можно на экране создания или изменения кластера в консоли управления:

ch-versions

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

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

Чтобы получить список доступных версий, выполните команду:

yc managed-clickhouse version list

Посмотреть список доступных версий можно с помощью метода API list.

Перед изменением версии

Перед изменением версии ClickHouse убедитесь, что это не нарушит работу ваших приложений:

  1. Посмотрите историю изменений ClickHouse и проверьте, какие из обновлений могут влиять на работу приложений.
  2. Попробуйте изменить версию на тестовом кластере (его можно развернуть, например, из резервной копии основного кластера). Обратите внимание, что при развертывании кластера из резервной копии восстановятся только таблицы на движке MergeTree.
  3. Создайте резервную копию основного кластера непосредственно перед изменением версии.

Изменить версию

Консоль управления
CLI
Terraform
API
  1. В консоли управления откройте страницу сервиса Managed Service for ClickHouse в каталоге, где нужно изменить версию ClickHouse.
  2. В списке кластеров выберите тот, который нужно изменить.
  3. Нажмите кнопку Изменить кластер.
  4. В поле Версия выберите нужную версию.
  5. Нажмите кнопку Сохранить изменения.

После того, как изменение версии запущено, кластер переходит в статус UPDATING. Дождитесь окончания операции и проверьте версию кластера.

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

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

  1. Получите список ваших кластеров ClickHouse:

    yc managed-clickhouse cluster list
    
    +----------------------+---------------+---------------------+--------+---------+
    |          ID          |     NAME      |     CREATED AT      | HEALTH | STATUS  |
    +----------------------+---------------+---------------------+--------+---------+
    | c9q8p8j2gaih8iti42mh | clickhouse691 | 2019-04-23 12:44:17 | ALIVE  | RUNNING |
    +----------------------+---------------+---------------------+--------+---------+
    
  2. Получите информацию о нужном кластере и проверьте версию ClickHouse в вашем кластере, указанную в свойстве config.version:

    yc managed-clickhouse cluster get c9q8p8j2gaih8iti42mh
    id: c9q8p8j2gaih8iti42mh
    folder_id: b1gqs1teo2q2a4vnmi2t
    created_at: "2019-04-23T12:44:17.929853Z"
    name: clickhouse691
    environment: PRODUCTION
    monitoring:
    - name: Console
        description: Console charts
        link: https://console.cloud.yandex.ru/folders/b1gqs1teo2q2a4vnmi2t/managed-clickhouse/cluster/c9q8p8j2gaih8iti42mh?section=monitoring
    config:
        version: "19.1"
        ...
    
  3. Запустите изменение версии ClickHouse:

    yc managed-clickhouse cluster update --id c9q8p8j2gaih8iti42mh --version 19.4
    

После того, как изменение версии запущено, кластер переходит в статус UPDATING. Дождитесь окончания операции и проверьте версию кластера.

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание ClickHouse-кластера.

  2. Добавьте к описанию кластера Managed Service for ClickHouse поле version или измените его значение, если оно уже существует:

    resource "yandex_mdb_clickhouse_cluster" "<имя кластера>" {
      ...
      version = "<версия ClickHouse>"
    }
    
  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

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

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

Подробнее см. в документации провайдера Terraform.

Ограничения по времени

Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for ClickHouse:

  • создание, в т. ч. путем восстановления из резервной копии, — 60 минут;
  • изменение — 90 минут;
  • удаление — 30 минут.

Операции, длящиеся дольше указанного времени, прерываются.

Как изменить эти ограничения?

Добавьте к описанию кластера блок timeouts, например:

resource "yandex_mdb_clickhouse_cluster" "<имя кластера>" {
  ...
  timeouts {
    create = "1h30m" # Полтора часа
    update = "2h"    # 2 часа
    delete = "30m"   # 30 минут
  }
}

Воспользуйтесь методом API update и передайте в запросе нужное значение в параметре configSpec.clickhouse.config.version.

Была ли статья полезна?

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • Список доступных версий
  • Перед изменением версии
  • Изменить версию