Установка на один сервер¶
Системные требования¶
Убедитесь в том что подготовленные сервера удовлетворяют требованиям:
Установка зависимостей¶
Для работы AW необходимо установить следующие компоненты согласно документации:
Конфигурирование операционной системы¶
Для корректной работы СУБД ClickHouse необходимо увеличить значение параметра "vm.max_map_count".
Внесите изменения в файле /etc/sysctl.conf, затем перезапустите службу командой sudo sysctl -p
:
Установка приложения¶
Для установки приложения выполните следующие действия:
-
Скопируйте дистрибутив Системы на сервер и разархивируйте его:
Файл дистрибутива можно удалить, если есть дефицит дискового пространства -
Скопируйте шаблон файла конфигурации .env.dist в файл конфигурации .env:
При работе Системы файл .env.dist не используется, он служит только шаблоном для файла .env. -
В случае необходимости внесите изменения в файл конфигурации .env.
Адрес Системы:
FRONTEND_URL
;Настоятельно рекомендуется изменить пароль для БД и другие переменные отвечающие за авторизацию сервисов:
# Токен авторизации для внутренних коммуникаций системы INTERNAL_API_TOKEN=1 # Пароль пользователя DB_PASSWORD=enter4z # Логин и пароль пользователя-администратора Airflow. С таким пользователем в UI Airflow # ходят пользователи, которые являются админами в AW ETL_AIRFLOW_USER=admin ETL_AIRFLOW_PASSWORD=1 # Логин и пароль пользователя Airflow, под которым в UI Airflow ходят обычные пользователи # (не админы) ETL_AIRFLOW_AW_USER=aw ETL_AIRFLOW_AW_PASSWORD=1 # JWT secret, используемый для генерации токенов доступа к внутренним ресурсам AUTH_BRIDGE_SECRET=a7f67106d9234324b3a28cb618e78fc0
-
Выполните загрузку docker - образов компонентов системы.
Для закрытого контура: Перейдите в каталог Системы и выполните скрипт ./install.sh:
Для открытого контура (если предоставлен доступ к registry): Подключите Docker Registry:
Отобразится запрос о необходимости ввести учетную запись. Введите данные учетной записи, ранее использованной для скачивания дистрибутива далее выполните загрузку образов: Перейдите в каталог Системы и выполните скрипт ./create_project_dirs.shВ результате будет создана следующая структура каталогов:
Перейдите в каталог Системы и выполните команды миграции БД:├── /opt/aw/db │ ├── /opt/aw/db/airflow │ ├── /opt/aw/db/clickhouse │ ├── /opt/aw/db/etl_broker │ ├── /opt/aw/db/oauth │ ├── /opt/aw/db/postgres │ └── /opt/aw/db/rabbitmq ├── /opt/aw/file_storage │ ├── /opt/aw/file_storage/api │ ├── /opt/aw/file_storage/etl │ ├── /opt/aw/file_storage/file_puller │ ├── /opt/aw/file_storage/jars │ ├── /opt/aw/file_storage/licence │ ├── /opt/aw/file_storage/minio │ ├── /opt/aw/file_storage/parquet │ └── /opt/aw/file_storage/runs ├── /opt/aw/logs │ ├── /opt/aw/logs/airflow │ └── /opt/aw/logs/rabbitmq
cd /opt/aw/app docker compose up -d docker compose exec backend php yii migrate --interactive=0 docker compose exec backend php yii run-code-migrations docker compose exec etl-api /app/manage migrate
Для ОС RED ОС может потребоваться выполнение дополнительной настройки firewalld:
# Docker использует IP masquerade для организации сети в контейнерах firewall-cmd --zone=public --add-interface=docker0 --permanent firewall-cmd --zone=public --add-masquerade --permanent # Сделать доступным HTTP-порт firewall-cmd --zone=public --add-port=80/tcp --permanent # Применить настройки firewall-cmd --reload