【Airflow】Apache Airflow ~ 環境構築 / Docker 編 ~

■ はじめに

https://dk521123.hatenablog.com/entry/2021/07/18/004531

で、ローカル上に Airflowの環境を構築したが、
いつの間にか環境がぶっつぶれた。
どうせなら、Dockerでやってみようと思ったので、メモ。

目次

【1】前提条件
【2】構築環境例
【3】構築手順
 1)docker-compose.yml のダウンロード
 2)インストール前の下準備
 3)airflow-initを実行
 4)airflowを起動
 5)確認
 6)後片付け

【1】前提条件

* Docker がインストールされていること
* 以下の関連記事を参照のこと。

Docker Desktop / WSL2 ~ Windows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2020/12/08/165505
Docker ~ Linux / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2018/04/10/234030

【2】構築環境例

* OS : Windows10 / Ubuntu 20.04.2 LTS
* Python : Python 3.9.7
* Airflow : v2.1.4

【3】構築手順

* 公式サイトに記載されている

https://airflow.apache.org/docs/apache-airflow/stable/howto/docker-compose/index.html

1)docker-compose.yml のダウンロード

mkdir airflow-docker
cd airflow-docker/

curl -LfO https://airflow.apache.org/docs/apache-airflow/stable/docker-compose.yaml

2)インストール前の下準備

# 必要なディレクトリやファイルを作成
mkdir ./dags ./logs ./plugins
echo -e "AIRFLOW_UID=$(id -u)\nAIRFLOW_GID=0" > .env

3)airflow-initを実行

* 以下を実行

コマンド

# docker-compose up airflow-init
docker compose up airflow-init

注意点1

もし、コマンド後に以下のようなエラーになった場合、
docker-compose のバージョンが古い可能性があり。
~~~~
ERROR: The Compose file './docker-compose.yaml' is invalid because:
Unsupported config option for services.airflow-cli: 'profiles'
Invalid top-level property "x-airflow-common". Valid top-level sections
 for this Compose file are: version, services, networks, volumes,
 and extensions starting with "x-".
~~~~

対応方法などの詳細は、以下の関連記事を参照のこと。

https://dk521123.hatenablog.com/entry/2021/10/03/000000

注意点2

* ちなみに、v2.0.2にしたら怒られた。。。
~~~~~~
ERROR!!!: Too old Airflow version 2.0.2!
The minimum Airflow version supported: 2.1.0. Only use this or higher!
~~~~~~

4)airflowを起動

* 以下を実行
 => 結構、時間が掛かる。

コマンド

# docker-compose up
docker compose up

5)確認

a) Web UI

* ブラウザで Web UI にアクセスするために、以下にアクセス。

http://localhost:8080

* Login ページになったら、以下を入力。
 + Login : airflow
 + Password : airflow

https://codeclef.medium.com/apache-airflow-using-docker-along-with-the-authentication-caa3522111c4

b) Flower

 => タスクやワーカー数の調整などを行うWeb UI

* ブラウザで Flower にアクセスするために、以下にアクセス。

http://localhost:5555/

6)後片付け

docker compose stop

docker compose down

参考文献

公式ドキュメント
https://airflow.apache.org/docs/apache-airflow/stable/start/docker.html
動画
https://www.youtube.com/watch?v=aTaytcxy2Ck
その他
https://dev.classmethod.jp/articles/trying-apache-airflow-quick-start-docker/

関連記事

Apache Airflow ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/09/28/135510
Apache Airflow ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2021/07/18/004531
Apache Airflow ~ 環境構築 / Kubernetes 編 ~
https://dk521123.hatenablog.com/entry/2023/05/13/000000
Apache Airflow ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/07/24/233012
Apache Airflow ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2021/07/28/234319
Apache Airflow ~ CLI
https://dk521123.hatenablog.com/entry/2021/10/21/130702
Apache Airflow ~ あれこれ編 ~
https://dk521123.hatenablog.com/entry/2021/09/30/163020
Apache Airflow ~ 通知あれこれ編 ~
https://dk521123.hatenablog.com/entry/2021/10/06/141323
Apache Airflow ~ 通知サンプル編 ~
https://dk521123.hatenablog.com/entry/2021/10/09/000000
Apache Airflow に関するトラブル
https://dk521123.hatenablog.com/entry/2021/10/03/000000
MWAA ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/09/29/131101
Docker Desktop / WSL2 ~ Windows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2020/12/08/165505
Windows / Docker Desktop でのトラブル
https://dk521123.hatenablog.com/entry/2020/12/11/115814
Docker ~ 基本編 / dockerコマンド ~
https://dk521123.hatenablog.com/entry/2020/04/13/000000
Docker ~ 基本編 / docker-compose ~
https://dk521123.hatenablog.com/entry/2020/04/11/000000
Python ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2014/08/07/231242