카이도스의 Tech Blog

Airflow - 설명 본문

Airflow

Airflow - 설명

카이도스 2024. 2. 4. 15:29
728x90
반응형

airflow 설치방법은 크게 3가지.(로컬, 도커, 클라우드 이용해 사용하는 방법)
airflow 사용시 Executor가 크게 4가지 방법이있다. - 링크1

 

[Airflow] Executor의 종류와 사용가이드라인 알아보기(Sequential, Local, Celery, Kubernetes)

Airflow Executor란? executor란 작업자들에게 작업을 실행 시키는 역할을 한다. 종류로는 SequentialExecutor, LocalExecutor, CeleryExecutor, KubernetesExecutor등이 있다. LocalExecutor는 병렬처리까지만 가능하고 클러스

magpienote.tistory.com


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