DataEngineering

[Apache Airflow] 도커로 환경 구축하기

녜잉 2024. 7. 24. 01:48

1. docker-compse.yaml 파일 다운로드 받기 

https://airflow.apache.org/docs/apache-airflow/2.9.3/docker-compose.yaml

에서 우클릭을 통해 docker-compose.yaml 파일을 다운로드 받는다. 

 

yaml 파일에 정의되어 있는 것들

  • airflow-scheduler- 스케줄러는 모든 작업과 DAG를 모니터링하고, 종속성이 완료되면 작업 인스턴스를 트리거
  • airflow-webserver- 웹서버는  http://localhost:8080 에서 이용 가능 
  • airflow-worker- 스케줄러가 지정한 작업을 실행하는 작업자
  • airflow-triggerer- 트리거는 연기 가능한 작업에 대한 이벤트 루프를 실행
  • airflow-init- 초기화 서비스
  • postgres- 데이터베이스
  • redis-  레디스, 스케줄러에서 워커로 메시지를 전달하는 브로커

 

 

2. .env 파일에서 UID 정의

AIRFLOW_UID=50000

 

docker-compose.yaml 파일이 있는 디렉토리에 .env 파일을 생성한 후 UID를 정의해준다 

 

 

3. 데이터베이스 초기화

docker compose up airflow-init

 

모든 운영체제에서 데이터베이스 마이그레이션을 실행하고, 첫번째 사용자 계정을 생성하기 위해 위의 명령어 실행

 

 

4. docker-compose up 

docker-compose up

 

도커 컴포즈를 진행한다.

 

 

다음과 같이 컨테이너가 실행된 것을 확인할 수 있다 

 

 

 

초기 아이디이자 비밀번호인 airflow를 입력하여 로그인한다

 

 

예제 DAG들이 있는 모습! 

 


 

 

참고:

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

 

Running Airflow in Docker — Airflow Documentation

 

airflow.apache.org

https://it-is-my-life.tistory.com/21

 

[airflow] Docker에서 airflow 환경 설정 및 실행하기

이번 포스팅에서는 Docker-compose를 활용하여 apache airflow를 실행하는 방법을 다룬다. 본 포스팅은 airflow 공식 document의 "Running airflow in Docker"를 참고하였으며 하단의 링크를 통해서 해당 문서로 이동

it-is-my-life.tistory.com