Rolling upgrade

Rolling upgrade — возможность последовательного обновления сервиса ADQMDB на отдельных хостах ADQM без долговременной остановки кластера.

ВАЖНО
Функциональность rolling upgrade доступна при обновлении ADQM минимальной версии 23.3.2.37.1.b1 на версию 24.3.2.23.2.b1 и выше в ADCM начиная с версии 2.3.

Ниже описан процесс последовательного обновления кластера ADQM через интерфейс ADCM.

Шаг 1. Подготовка к обновлению

  1. На странице Bundles загрузите новый бандл ADQM — см. шаг Загрузка бандла в ADCM в статье Создание кластера.

  2. Откройте страницу Clusters, где после загрузки нового бандла станет активной иконка upgrade default в столбце Actions для кластера ADQM — кликните по иконке.

    Подготовка кластера к обновлению
    Подготовка кластера к обновлению

    В открывшемся окне Upgrade Cluster выберите доступную для обновления версию и нажмите Upgrade.

    Выбор версии для обновления
    Выбор версии для обновления

    После этого ADCM покажет диалоговое окно подтверждения подготовки к обновлению. Кликните Run.

    Подтверждение выполнения подготовки к обновлению
    Подтверждение выполнения подготовки к обновлению

    Когда действие будет выполнено, ADCM изменит статус кластера на upgrading — кластер готов к обновлению.

Шаг 2. Обновление ADQMDB по группам хостов

  1. На странице конфигурации сервиса ADQMDB (Clusters → <ADQM_cluster> → Services → ADQMDB) откройте вкладку Action hosts groups и объедините хосты кластера в группы, чтобы затем обновить версию ADQMDB поочередно для каждой группы хостов. Например, можно создать группы хостов так, чтобы каждая из них включала по одной реплике каждого шарда. На рисунке ниже показан пример разделения хостов на группы по этому принципу для следующей топологии кластера:

    • шард 1 с двумя репликами — dev-adqm-01.ru-central1.internal и dev-adqm-02.ru-central1.internal;

    • шард 2 с двумя репликами — dev-adqm-03.ru-central1.internal и dev-adqm-04.ru-central1.internal.

    Распределение хостов по группам для последовательного обновления сервиса ADQMDB
    Распределение хостов по группам для последовательного обновления сервиса ADQMDB
  2. Выполните обновление сервиса ADQMDB для одной группы хостов. Для этого в строке группы хостов кликните по иконке actions default dark actions default light в столбце Actions и запустите действие Upgrade.

    Запуск обновления ADQMDB для группы хостов
    Запуск обновления ADQMDB для группы хостов

    В открывшемся диалоговом окне нажмите Run, чтобы подтвердить выполнение обновления. После завершения обновления сервиса ADQMDB для группы хостов, кластер останется в состоянии upgrading.

    Действие Upgrade можно запустить для группы хостов повторно, если, например, не удалось выполнить обновление на некоторых хостах или в группу были добавлены новые хосты.

  3. После успешного выполнения действия Upgrade убедитесь, что на всех хостах группы установлена новая версия ClickHouse (например, можно выполнить команду select version() в консольном клиенте clickhouse-client) и базы данных работают корректно (ClickHouse со своей стороны гарантирует техническую совместимость двух версий в пределах года, но бизнес-поведение может меняться, поэтому прикладной результат следует проверять для каждой версии отдельно). Дальнейшие действия зависят от результата проверки:

    • Если проверка прошла успешно, можно продолжить обновление ADQMDB на других хостах кластера (запустить действие Upgrade для следующей группы хостов) или перейти к завершению обновления кластера.

    • В случае возникновения каких-либо проблем при тестировании новой версии ClickHouse можно прервать обновление кластера и вернуть предыдущую версию сервиса ADQMDB на обновленных ранее хостах. Чтобы это сделать, перейдите на страницу Clusters и запустите для кластера действие Abort the upgrade.

      Отмена обновления сервиса ADQMDB
      Отмена обновления сервиса ADQMDB

      После отмены обновления бандл кластера вернется к предыдущей версии (и ClickHouse на всех хостах кластера соответственно тоже), а состояние кластера установится в installed.

      Если отменить обновление не удалось (например, из-за того, что поврежден или отсутствует файл с информацией, необходимой для возврата к предыдущей версии, или архив с файлами конфигурации старой версии сервиса ADQMDB), можно запустить действие Abort the upgrade с включенной опцией Forced rollback — в этом случае осуществится принудительный откат к предыдущей версии бандла ADQM, после которого необходимо будет запустить действие Reconfig & restart для сервиса ADQMDB.

      Опция Forced rollback для отмены обновления
      Опция Forced rollback для отмены обновления

Шаг 3. Завершение обновления

После того, как сервис ADQMDB переведен на новую версию на хостах, где было необходимо провести предварительное обновление, завершите обновление кластера действием Complete the upgrade (на странице Clusters), которое обновит ADQMDB на остальных хостах, а также все другие сервисы ADQM в кластере. После выполнения этого действия уже не будет возможности вернуться к предыдущей версии ADQM.

Завершение обновления кластера ADQM
Завершение обновления кластера ADQM

Когда процесс обновления будет завершен, ADCM изменит состояние кластера на installed.

ПРИМЕЧАНИЕ

Запуск действия Complete the upgrade начинает обычное обновление кластера, то есть обновление всех сервисов ADQM на всех хостах (как при запуске действия Upgrade для кластера, обновляемого на версию ADQM до 24.3.2.23.1.b1 включительно).

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней