Перейти к содержанию

Обновление AW

Внимание Перед переходом на релиз 1.34 и старше обязательно проверьте корректность формул на Вашем стенде. Для проверки нужно запустить специальный скрипт. Получить скрипт и файл с результатами проверки можно через службу поддержки AW.

Также рекомендуем заранее ознакомиться с описанием целевых и промежуточных релизов на нашем портале AW community

Внимание Перед переходом на релиз 1.36 настоятельно рекомендуется выполнить резервное копирование БД AW.

Технические изменения в выпуске AW 1.36.*

Внимание!! В связи с обновлением версии clickhouse, для корректной работы приложения требуется ядро Linux 3.15+. Посмотреть текущую версию можно выполнив команду:

uname -r

Пример вывода:

awbi@bi-aw:~$ uname -r
6.12.48+deb13-amd64

Добавлены образы:

  • etl-ui

Изменения в конфигурации

Добавлены переменные:

Переменная Новая? Описание Значение
по умолчанию
IFRAME_ALLOW_SAME_ORIGIN Да Разрешает содержимому \<iframe> использовать тот же источник (origin), что и родительский документ. Возможные значения: true/false false
CLICK_GRPC_PORT Да Порт для взаимодействия по протоколу gRPC 9100
AW_CLICKHOUSE_GRPC_PORT_EXPORTED Да Внешний порт для взаимодействия по протоколу gRPC 0
ETL_UI_PORT_EXPORTED Да Сетевой интерфейс, по которому доступен etl-ui (по умолчанию, 127.0.0.1:0) Не задано
ETL_DATA_PREVIEW_MODEL_PULL_CONCURRENCY Да Макс. количество одновременных запросов за данными при предлпросмотре модели. Если не указано или меньше 1, то считается, что ограничений нет Не задано
ETL_UI_URL Да URL, по которому доступен сервис etl-ui (по умолчанию, http://etl-ui) Не задано

Изменения в топологии

В etl-tasks добавлена зависимость на etl-airflow-db (новая переменная ETL_AIRFLOW_DB_CONNECTION). На БД Airflow указывает новая для сервиса etl-tasks переменная ETL_AIRFLOW_DB_CONNECTION (сама переменная до этого существовала и использовалась в etl-airflow).

Подготовка

  • обновить awctl на последнюю версию
  • сделать рез. копию конфигурации профиля:

    cp $HOME/.awctl/profiles/<имя_профиля>/config.yml $HOME/.awctl/profiles/<имя_профиля>/config.yml.bak
    
  • рекомендуется выполнить рез. копирование файлов конфигурации на каждом сервере,

  • в случае необходимости загрузить архив с новым релизом на сервер с awctl,
  • рекомендуется выполнить рез. копирование БД AW

Автоматизированное обновление конфигурационного файла профиля

Команда update. awctl update - анализирует текущий конфигурационный файл профиля, генерирует конфигурационный файл для новый версии AW и переносит все изменения сделанные в старом конфигурационном файле.

Обновление конфигурации профиля AW

Выполняем команду: - /opt/awctl/awctl update --version <номер новой версии AW> <имя профиля> Результатом выполнениия команды станет новый конфигурационный файл профиля с перенесенными изменениями из старого. Рез. копия старого конфигурационного профиля сохраняется под именем config.<старая версия AW>.yml.

  • рекомендуется проверить новый конфигурационный файл - корректность переноса секций env, настроек aw_host, aw_user и т.п.
  • выполнить команду gen - /opt/awctl/awctl gen <имя профиля>
  • выполнить команду install - /opt/awctl/awctl install <имя профиля>
  • выполнить команду migrate - /opt/awctl/awctl migrate <имя профиля>

Ручное обновление конфигурационного файла профиля

Подготовка нового конфигурационного файла профиля

Т.к. кол-во сервисов в составе AW может меняться от версии к версии, при обновлении распределенной установки требуется сгенерировать распределение сервисов по серверам заново:

/opt/awctl/awctl init --preset <кол-во серверов> --release-path <путь к архиву с релизом AW> <имя профиля>
Далее из рез. копии старого файла конфигурации профиля необходимо перенести в новый значения:

  • aw_home, aw_host, aw_ssh_host, aw_user, aw_ssh_user, aw_ssh_password и т.п. для каждого сервера
  • секцию env для каждого сервера, если используется
  • значения with_extra_hosts, with_traefik из секции aw

Сделать это можно с помощью любого удобного текстового редактора.

Обновление AW

Для обновления установки AW выполните следующие действия:

  1. Генерируем конфигурационные файлы для серверов:

    /opt/awctl/awctl gen <имя_профиля>
    
  2. При обновлении с версия 1.2* - останавливаем AW:

    /opt/awctl/awctl stop <имя_профиля>
    

    Удаляем содержимое директории db/rabbitmq

    cd /opt/aw/db/rabbitmq
    rm -rf ./*
    
  3. Выполняем установку AW:

    /opt/awctl/awctl install <имя_профиля>
    
    Если установка выполняется из полного релизного архива (release-<версия AW>.tar), то выполнение команды может занять длительное время.

  4. Выполняем миграции:

    /opt/awctl/awctl migrate <имя_профиля>