부제: Running Airflow in Docker (LocalExecutor)
사전 필요사항
Airflow는 공식문서(위의 사전 필요사항 링크)에서 CeleryExecutor로 Docker 환경 위에 Airflow를 실행하는 방법을 제공합니다.
공식 문서를 따라 docker-compose.yml 파일을 다운로드하고
docker-compose up 명령어로 Airflow를 실행하면 기본으로 6개 컨테이너가 실행되어 리소스를 많이 잡아먹습니다.
공식 docker-compose.yml로 Airflow 실행 시 기본으로 실행되는 컨테이너 리스트 (4GB 이상 메모리 공간 요구)
아래 docker-compose.yml 파일을 사용하면 Airflow를 LocalExecutor로 실행하여 웹서버, 스케줄러, postgres 3개 컨테이너만을 실행함으로 보다 가볍게 Airflow를 실행할 수 있습니다.
디렉토리 생성
mkdir airflow-loclexecutor
cd airflow-localexecutor
mkdir dags logs plugins
docker-compose.yml 파일 생성
docker-compose에서 참조할 .env 파일 생성
실행
docker-compose up -d
위처럼 적은 리소스로 Airflow를 실행하면
PoC 진행, 테스트 환경 구축 또는 워크플로우가 많지 않은 스타트업의 운영 환경(ex. 저사양 EC2에 Airflow 실행)에 활용할 수 있습니다.
기타 궁금하신 사항은 편하게 댓글 남겨주세요.
감사합니다.
1. Marvin Lanhenke님 Medium 블로그, https://towardsdatascience.com/setting-up-apache-airflow-with-docker-compose-in-5-minutes-56a1110f4122
2. Airflow 공식 문서, https://airflow.apache.org/docs/apache-airflow/stable/start/docker.html
[Airflow] Docker로 Airflow 설치 시 기본 패스워드 변경 (0) | 2022.02.15 |
---|---|
[Airflow] Airflow log 정기적으로 삭제하기 (mtime 활용 Logrotate 설정) (0) | 2021.09.18 |
[Airflow] Airflow Connections에 DB접속 정보(Oracle) 저장 및 사용 1 (0) | 2021.05.29 |