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

Обновление AW

Внимание обязательно ознакомьтесь с описанием целевого и промежуточных релизов https://community.analyticworkspace.ru/c/opisanie-relizov/20, где подробно указаны значимые изменения и рекомендации по подготовке к обновлению.

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

Изменения в prod-образах

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

  • minio-init - инициализация политик minio
  • clear-storage - очистка файлового хранилища
  • cron - запуск задач по расписанию
  • swagger - swagger-ui для документации api
  • puppeteer - выполнение скриншотов

Удалены образы:

  • cube-api
  • cubecube
  • cube-refresh-worker
  • cubestore-router
  • cubestore-worker-1
  • cubestore-worker-2
  • cube-redis

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

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

  • CLICK_MYSQL_PORT=9004
  • CLICK_POSTGRESQL_PORT=9005
  • CLICK_TIMEOUT=36000
  • ETL_AIRFLOW_LOG_FOLDER=/logs/air
  • AW_SWAGGER_PORT_EXPORTED=85
  • CLICK_PARSER_OPTIONS=-Xms256m -Xmx2048m
  • JAVA_PULLER_OPTIONS=-Xms256m -Xmx4g -XX:+PrintFlagsFinal
  • MODEL_SYNC_RESULTS_QUEUE=etl_model_sync_results
  • CLICK_PARSER_TIMEOUT - Таймаут соединения с сервисом clickhouse-parser (по умолчанию, 15)

Удалены переменные:

  • DICT_CACHE_SERVER_HOST
  • DICT_CACHE_SERVER_PORT
  • AW_NPM_TOKEN

Подготовка

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

    cp $HOME/.awctl/profiles/<имя_профиля>/config.yml $HOME/.awctl/profiles/<имя_профиля>/config.yml.bak
    
    - в случае необходимости загрузить архив с новым релизом на сервер с awctl - выполнить рез. копирование БД AW

Для awctl начиная с версии 1.7.5 (автоматизированное обновление конфигурационного файла профиля)

Начиная с версии awctl - 1.7.5 доступна команда 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 <имя профиля>

Для awctl до версии 1.7.4 (ручное обновление конфигурационного файла профиля)

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

Т.к. кол-во сервисов в составе 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 ./*
    
  2. Выполняем установку AW:

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

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

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