概要
Apache Airflow は Python 製のジョブスケジューラです
今回はインストール方法と簡単な使い方を紹介します
環境
- macOS 11.5
- docker 20.10.7
- Airflow 2.1.2
docker-compose ファイルのダウンロード
-
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.1.2/docker-compose.yaml'
データ保存用のディレクトリ作成
- mkdir ./dags ./logs ./plugins
env ファイルの作成
- echo -e "AIRFLOW_UID=$(id -u)\nAIRFLOW_GID=0" > .env
初期化
- docker-compose up airflow-init
これで Postgres と redis が起動します
起動
- docker-compose up -d
これで Airflow が起動します
- docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------------------------------------------
airflow_airflow-init_1 /usr/bin/dumb-init -- /ent ... Exit 0
airflow_airflow-scheduler_1 /usr/bin/dumb-init -- /ent ... Up (unhealthy) 8080/tcp
airflow_airflow-webserver_1 /usr/bin/dumb-init -- /ent ... Up (healthy) 0.0.0.0:8080->8080/tcp
airflow_airflow-worker_1 /usr/bin/dumb-init -- /ent ... Up (unhealthy) 8080/tcp
airflow_flower_1 /usr/bin/dumb-init -- /ent ... Up (healthy) 0.0.0.0:5555->5555/tcp, 8080/tcp
airflow_postgres_1 docker-entrypoint.sh postgres Up (healthy) 5432/tcp
airflow_redis_1 docker-entrypoint.sh redis ... Up (healthy) 0.0.0.0:6379->6379/tcp
動作確認
主に 3 パターンあるのでそれぞれ紹介します
GUI
localhost:8080 にアクセスすると確認できます
初期ID/パスワードは airflow/airflow でログインできます
サンプルのジョブがいくつか登録されているのが確認できると思います
CLI
airflow.sh
というシェルスクリプトを使ってアクセスできます
-
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.1.2/airflow.sh'
-
chmod +x airflow.sh
- ./airflow.sh info
これで Airflow の情報が表示されるのが確認できると思います
curl
RESTAPI があるので curl を使ってコールしてみます
単純な Basic 認証でアクセスできます
-
ENDPOINT_URL="http://localhost:8080/" curl -X GET --user "airflow:airflow" "${ENDPOINT_URL}/api/v1/pools"
リファレンスはこちらにあります
最後に
とりあえずインストールと簡単な使い方だけ紹介しました
実際はジョブの登録やスケジューリングの登録を行う必要があります
チュートリアルがあるのでそれをやると大まかな使い方は理解できると思います
0 件のコメント:
コメントを投稿