Apache Airflow: Установка
В этой статье мы рассмотрим процесс установки 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 в свою систему.
Вы можете изучить пользовательский интерфейс и поэкспериментировать.