Обновление 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 на последнюю версию
-
сделать рез. копию конфигурации профиля:
- В случае необходимости загрузить архив с новым релизом на сервер с awctl - выполнить рез. копирование БД AWcp $HOME/.awctl/profiles/<имя_профиля>/config.yml $HOME/.awctl/profiles/<имя_профиля>/config.yml.bak
Подготовка нового конфигурационного файла профиля¶
Т.к. кол-во сервисов в составе 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 выполните следующие действия:
-
Генерируем конфигурационные файлы для серверов:
2. При обновлении с версия 1.2* - останавливаем AW:Удаляем содержимое директории db/rabbitmq
-
Выполняем установку AW:
Если установка выполняется из полного релизного архива (release-<версия AW>.tar), то выполнение команды может занять длительное время. -
Выполняем миграции: