MLOps

Airflow 설치 및 환경 세팅하기 (Window)

scone 2025. 5. 5. 18:40

airflow 마스터클래스 강의를 들으며 ( 슬기로운 통계 생활의 현진님께서 내신 강의로 정말 강추 드립니다.)

세팅 관련해서 메모를 해둬야할 것 같아 블로그 포스팅을 하게 되었습니다. (작성 글은 2.10.5 기준 입니다. 3.0.0은 저번주쯤에 배포돼서 앞으로 강의에 업데이트하실 예정이라고 합니다.)

 

들어가기 전

 

Airflow Install in WSL

세팅

# docker-compose 다운
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.10.5/docker-compose.yaml'

# 환경 설정을 위한 폴더 및 파일 생성
mkdir -p ./dags ./logs ./plugins ./config
echo -e "AIRFLOW_UID=$(id -u)" > .env

# 설치 및 세팅
sudo docker compose up airflow-init

 

확인

  • 실행
    • volume 등이 어떻게 설정되어 있는지 compose 파일을 확인하고 진행하면 좋습니다.
docker compose up

 

 

  • 띄워진 container 확인 
    • webserver
    • worker
    • scheduler
    • triggerer
    • redis

 

localhost:8080 에 접속해보면 UI 또한 확인 가능하며, 예시 코드 등을 확인할 수 있습니다. ( 초기 아이디와 비번은 airflow )

 

Airflow Install in Window

강의에서는 ...

  1. origin에 git repo를 만든다.
  2. 이를 window와 wsl 환경에 각각 clone해서 받는다.
  3. window 환경에서 task를 돌리기 위한 operator 파일 작성(쉽게 말하면 코드 작업)을 진행하고 이를 push한다.
  4. wsl 환경에서 pull 받아서, docker compose up으로 서비스 띄워서 확인

이런 식으로 진행하더라고요?

 

wsl 환경에서도 다 할 수 있지 않나 싶은데

실무와 비슷하게 작업하고자 그렇게 안내해주셨을 것 같습니다.

 

세팅

pip install "apache-airflow[celery]==2.10.5" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.10.5/constraints-3.8.txt"

 

확인

간단한 bash_operator 테스트

 

 

  • bash_t1

  • bash_t2

 

 

 

bash_t2에서 HOSTNAME 을 출력해주었고,

2a3d21e54edd 가 출력 되었습니다.

 

worker container가 작업을 실행함을 확인할 수 있었습니다.