Tutorial: Settings
Easy to start
Docker-Compose Setting
에어플로우 프로젝트 관리를 위한 디렉터리 생성
도커 컴포즈 파일 다운로드
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
도커 환경에서 참조 할 추가 디렉터리 생성
dags : DAG 파일 보관
logs : Task 실행 시, 혹은 Scheduler의 로그 보관
config : 커스텀 log parser를 추가하거나 Cluster 정책을 위한 airflow_local_settings.py를 추가할 수 있음
plugins : 커스텀 Plugin 보관
Set up .env
환경 변수 관리
Airflow docker compose guide to can modify values in the environment
Customizing Options
도커 컴포즈 파일의 옵션 값 설정
Outbound ports change
Does not load example cases
Change the task instance log url
Airflow proejct init
Troubleshooting:
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