airflow 마스터클래스 강의를 들으며 ( 슬기로운 통계 생활의 현진님께서 내신 강의로 정말 강추 드립니다.)
세팅 관련해서 메모를 해둬야할 것 같아 블로그 포스팅을 하게 되었습니다. (작성 글은 2.10.5 기준 입니다. 3.0.0은 저번주쯤에 배포돼서 앞으로 강의에 업데이트하실 예정이라고 합니다.)
들어가기 전
- wsl2 설치
- docker 설치
- git 설치
- uv 설치
Airflow Install in WSL
세팅
- Docker로 설치
- pip로 airflow를 설치하게 되면 저사양의 airflow가 설치되며, 여러 제약사항이 발생한다고 합니다.
- 참조 문서: https://airflow.apache.org/docs/apache-airflow/stable/howto/docker-compose/index.html
# 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
강의에서는 ...
- origin에 git repo를 만든다.
- 이를 window와 wsl 환경에 각각 clone해서 받는다.
- window 환경에서 task를 돌리기 위한 operator 파일 작성(쉽게 말하면 코드 작업)을 진행하고 이를 push한다.
- wsl 환경에서 pull 받아서, docker compose up으로 서비스 띄워서 확인
이런 식으로 진행하더라고요?
wsl 환경에서도 다 할 수 있지 않나 싶은데
실무와 비슷하게 작업하고자 그렇게 안내해주셨을 것 같습니다.
세팅
- Airflow를 다루기 위해 필요한 라이브러리를 설치합니다.
- 저는 pip로 설치 안하고, uv 프로젝트에 add 해줬습니다.
- 참고한 문서: https://airflow.apache.org/docs/apache-airflow/stable/installation/installing-from-pypi.html
pip install "apache-airflow[celery]==2.10.5" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.10.5/constraints-3.8.txt"
확인
- bash_t1
- bash_t2
bash_t2에서 HOSTNAME 을 출력해주었고,
2a3d21e54edd 가 출력 되었습니다.
worker container가 작업을 실행함을 확인할 수 있었습니다.
'MLOps' 카테고리의 다른 글
Black formatter, Github Actions에 적용하기 (0) | 2024.01.26 |
---|---|
CI / CD? Git Action으로 이해해보기 (0) | 2024.01.07 |