Tutorial: Settings

Properties

Easy to start

Docker-Compose Setting

  1. 에어플로우 프로젝트 관리를 위한 디렉터리 생성

  2. 도커 컴포즈 파일 다운로드

mkdir airflow_project && cd airflow_project

~/airflow-local$ curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.9.3/docker-compose.yaml'

Docker-compose 파일 구성

  • airflow-scheduler

    • Task를 일정 주기마다 실행 할 수 있도록 DAG 파일을 모니터링 및 관리

  • airflow-worker

    • Scheduler의 Queue에 등록된 Task가 실행 단계로 전달 될 시 실행

  • airflow-webserver

    • UI Dashboard, realtime-log, click-to-run 등 웹 서버에서 모니터링 및 단발성 이벤트 실행 또는 삭제 가능

  • airflow-trigger

    • 특정 스케줄러에 의해 동작 하지 않고 이벤트를 감지 하여 실행

  • airflow-init

    • 에어플로우 프로젝트 초기 설정

  • postgres

    • 로컬에서 airflow db는 sqlite3를 사용 하지만 docker 환경에서는 postgres 사용

  • redis

    • 스케줄러에서 워커로 메세지 전송 하는 브로커

  • common environment

    • airflow.cfg에 설정 하는 내용

Create airflow refference directory

  1. 도커 환경에서 참조 할 추가 디렉터리 생성

  • dags : DAG 파일 보관

  • logs : Task 실행 시, 혹은 Scheduler의 로그 보관

  • config : 커스텀 log parser를 추가하거나 Cluster 정책을 위한 airflow_local_settings.py를 추가할 수 있음

  • plugins : 커스텀 Plugin 보관

Set up .env

  1. 환경 변수 관리

Airflow docker compose guide to can modify values in the environment


Customizing Options

  1. 도커 컴포즈 파일의 옵션 값 설정

  • Outbound ports change

  • Does not load example cases

  • Change the task instance log url

Airflow proejct init

Troubleshooting:

  1. No such Image redis:7.2-bookworm

  • docker compose up airflow-init 재실행

    • 도커 허브에서 지원하는 버전이 없었거나 내용이 달라졌을 것이라 생각 할 수 있지만 도커 허브에는 잘 등록 되어 있으니 다시 실행 하면 정상적으로 풀링 가능

Commands

  • DAG list

  • Tasks list

  • Test

  • DAG file refresh

  • DAG Trigger

Example usage

"Data Pipelines with Apache Airflow" into hans-on code:

Last updated