카이도스의 Tech Blog
Airflow - 설명 본문
728x90
반응형
airflow 설치방법은 크게 3가지.(로컬, 도커, 클라우드 이용해 사용하는 방법)
airflow 사용시 Executor가 크게 4가지 방법이있다. - 링크1
sequential Executors
- default executor이다.
- 클러스터를 구성하지 않고 작업은 순차적으로 진행된다.
- scheduler와 같이 진행된다.
- DB는 보통 Sqlite를 사용한다. 다른 db는 오버스펙인 듯
- 쉽고 간결하다 기본 설정이라 고칠게 없다.
- 스케일 인아웃 불가능
- 순차 실행이라 병렬 처리 불가능
- 테스트 디버깅용으로 좋다.
Local Executors
- scheduler 와 함께 동작한다.
- 병렬 처리 가능
- 쉽게 셋팅 가능
- 가볍고 싸다
- 병렬처리 가능하다.
- 스케일 인아웃을 할 수 없다.
- 테스트 디버깅용으로 좋다 작은 스케일에서 사용하기 좋다.
Celery Executors
- rabbitMQ를 사용하여야 한다,
- 분산 태스크 처리가 가능하다.
- 수평 구조로 스케일링 할 수 있다
- 내 결함성을 제공한다.
- 자원 낭비가 있을 수 있다.
- 비용 효율적이지 않다.
- production에 적합하다.
- worker가 항상 동작하고 있어야한다.
Kubernetes Executors - 추후 메인으로 사용시 넘어가야할 설정
- kubernetest API를 사용하여 매니지 된다.
- 스케일러블 하기 쉽다.
- 내 결함성을 가진다.
- 자원을 개별적으로 태스크 돌릴수 있다.
- k8s를 잘 알아야 사용 가능하다.
- production에 적합하다.
- 워커를 필요할 때 사용이 가능하다.
각각의 방법에는 장단점이있지만 local로 사용 후 → Kubernetes 로 넘어가는게 좋음.
로컬로 우선설치 후 테스트진행. 추후 사용시에는 쿠버네티스로 구성하여 활용필요.
k8s 구성시 운영고도화 필요(부족한 레퍼런스, 로그소실에 따른 외부저장소 연동-s3, ES, GCS 등)
- airflow.cfg = airflow의 환경설정 파일
- airflow.db = DB 관련 정보를 담고있음
- logs = airflow의 각종 로그를 관리
- dags = airflow에서 dag를 관리하는 디렉토리
728x90
반응형
'Airflow' 카테고리의 다른 글
Airflow docker cluster 구성 - 2 (0) | 2024.02.09 |
---|---|
Airflow docker cluster 구성 - 1 (0) | 2024.02.04 |
Comments