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

Обновление AW

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

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

Убрана зависимость сервиса etl-api от memcached (etl-api теперь не читает переменные MEMCACHED_HOST и MEMCACHED_PORT). Теперь кеши этого сервиса хранятся в etl-broker (переменная ETL_BROKER_URL).

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

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

Переменная Новая? Описание Значение
по умолчанию
ETL_PULLER_TIMEOUT Да Количество секунд, через которое обращение к пуллеру из превью или синхронизации модели прерывается. Если значение не указано, то задержка считается бесконечной. <пусто>
ETL_API_START_PREVIEW_TIMEOUT Да Таймаут на соединение с сервисом data-preview (в сек.). Если в течение этого времени preview-задача не будет взята в работу, то пользователю будет показано сообщение, что сервис preview-недоступен. 10
ETL_DATA_PREVIEW_MAX_REQUESTS Да Количество запросов, которые обрабатывает каждый из воркеров etl-data-preview, перед тем, как принудительно перегрузиться. 1000
ETL_DATA_PREVIEW_MAX_TASK_DURATION Да Максимальное время на выполнение задачи в etl-data-preview (в сек.). Если в течение этого времени preview-задача не будет выполнена, то воркер принудительно перегрузится. 900
ETL_DATA_PREVIEW_WARMUP_SPARK_SESSION Да Выполнять ли прогрев спарк сессии при старте воркера. Любое из 1/true/on/yes - да. Пустое значение - да. Прогрев ускоряет обработку первых поступающих в data-preview запросов, но во время прогрева воркер недоступен. <пусто>
ETL_EXTRA_PYLIBS_INSTALL Да Перечисление дополнительно устанавливаемых py-библиотек <пусто>
ETL_EXTRA_PYLIBS_ALLOW Да Перечисление библиотек, импорт которых разрешен в etl-скриптах. <пусто>
ETL_EXTRA_PYBUILTINS_ALLOW Да Перечисление дополнительных стандартных функций, которые можно использовать в etl-скриптах <пусто>
ETL_EXTRA_PYWHEELS Да Путь к хостовой папке, в которой располагаются дополнительно устанавливаемые py-библиотеки <пусто>
BACKEND_LIVE_WIDGET_DATA_CACHE_DURATION Да Время жизни кеширования данных виджета, построенных на live-модели. Измеряется в секундах. При 0 или невалидном значении кэш отключается
ETL_KEEP_FILES_DAYS Перенос Через столько дней будут удаляться неиспользуемые файлы в папке запуска etl (допускается дробное значение) 7
ETL_KEEP_DAGS_DAYS Перенос Через столько дней будут удаляться неиспользуемые модели (допускается дробное значение) 7
ETL_TASKS_LOG_LEVEL Да Уровень логирования для сервиса ETL_TASKS. Допустимые значения: ERROR, WARNING, INFO, DEBUG INFO
ETL_BROKER_URL Да Адрес брокера ETL redis://etl-broker:6379/0
AW_S3_URL Да Адрес основного S3-хранилища http://minio_user:minio_access_pass@minio:9000

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

Переменная Причина удаления Сервис
AW_FILE_PULLER_INTERNAL_DS_S3_URL Ранее переменная указывала в file-puller на S3 бакет, в котором хранятся загруженные пользователем файлы для файловых источников. Теперь в file-puller на S3 указывает переменная AW_S3_URL file-puller

Подготовка

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

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

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

Т.к. кол-во сервисов в составе 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 <имя_профиля>