Airflow_Logo3

Apache Airflow: Установка

10 июля 2023 г.

Apache Airflow является открытым программным обеспечением для планирования, мониторинга и управления рабочими процессами. Он предоставляет возможность создания, планирования и выполнения рабочих процессов (workflows) с помощью Python-скриптов.

В этой статье мы рассмотрим процесс установки Apache Airflow и подготовку к его использованию на вашем компьютере.


Устновка


До начала установки airflow, я создаю новую виртуальную среду с названием airflow с помощью conda (или любого другого инструмента) на базе Python 3.8:

conda create --name airflow python=3.8

Далее активируем только что созданное окуружение командой:

conda activate airflow

Типичная команда для установки airflow с нуля из PyPI, согласно документации выглядит следующим образом:

pip install "apache-airflow[celery]==2.6.2" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.6.2/constraints-3.8.txt"

Где 2.6.2 - это версия airflow, а 3.8 - это версия python.

По умолчанию, airflow настроен на работу с SQLite базой.

Я хочу, чтобы airflow для моих задач работал с более серьёзной БД, поэтому буду целиться на использование Postgres. Для этого также установим адаптер подключения к БД Postgres в нашу виртуальную среду python:

pip install psycopg2

pip install psycopg2-binary


Настройка Airflow БД


Далее, для того, чтобы airflow создал папку и конфигурационные файлы, выполняем команду:

airflow config get-value database sql_alchemy_conn

Эта команда выведет путь, где расположена SQLite база данных.

После выполнения команды в папке пользователя должна появиться папка airflow. Внутри этой папки будет находиться конфигурационный файл airflow.cfg . Он нам пригодится!

Я заранее создал новую базу данных Postgres с название airflow и пользователя airflow с паролем airflow (как необычно) со всеми правами для новой базы данных.


После этого необходимо настроить подключение Airflow к БД:

Открываем файл airflow.cfg правим значение параметра 

sql_alchemy_conn на postgresql+psycopg2://airflow:airflow@localhost/airflow


Инициализируем новую базу данных:

airflow db init


Создание нового пользователя Airflow


Будем верными себе и создадим пользователя airflow с паролем airflow))):

airflow users create --username airflow --password airflow --firstname Vladimir --lastname Makarov --role Admin --email makarov.vladimir@mail.ru

Можно запустить следующую команду, чтобы проверить, что пользователь был создан успешно:

airflow users list


Запуск Airflow Scheduler и Webserver


Теперь мы запустим планировщик Airflow с помощью команды:

airflow scheduler

Откройте новый терминал, активируйте виртуальную среду и запустите веб-сервер командой:

conda activate airflow
airflow webserver

Как только планировщик и веб-сервер будут инициализированы, откройте любой браузер и перейдите к http://localhost:8080/.

После входа в систему с использованием вашего имени пользователя и пароля airflow, мы должны увидеть следующий пользовательский интерфейс веб-сервера:

Это некоторые готовые dag-файлы, которые вы увидите при первом входе в систему.
Если вы видите эту страницу, поздравляем! вы успешно установили Apache Airflow в свою систему.
Вы можете изучить пользовательский интерфейс и поэкспериментировать.


Вернуться