코딜기

[Airflow] airflow.cfg 개념과 각 섹션들의 기능 본문

Data Engineering/Airflow

[Airflow] airflow.cfg 개념과 각 섹션들의 기능

코딜기 2024. 5. 14. 15:22
반응형

Airflow.cfg란?

  • airflow.cfg는 Airflow의 실행, 스케줄링, 로깅, 보안 및 통합 등 여러 기능을 설정하는 데 사용됩니다.
  • Airflow 설치 시 기본적으로 생성되는 일반 텍스트 기반의 구성 파일로, INI 포맷을 사용하여 다양한 설정을 선언적으로 정의할 수 있습니다.
  • 실행 방식, 스케줄링 매개변수, 데이터베이스 접속 정보, 로깅, 메일 설정 등을 수정할 수 있습니다.
  • 파일은 여러 섹션으로 구분되어 있으며, 각 섹션은 Airflow의 특정 기능이나 구성 요소에 관한 설정을 담고 있습니다.
  • Airflow 인스턴스를 업그레이드하거나 변경할 때 주의 깊게 관리해야 합니다.
  • 실수로 중요한 설정을 변경하거나 잘못 구성하면 Airflow의 성능이 저하되거나 예기치 않은 동작을 할 수 있습니다.

주요 섹션과 기능

1. [core]

  • 기능 : Airflow의 핵심 설정을 관리합니다.
  • 주요 설정
    • executor : 작업 실행 방법 결정
    • sql_alchemy_conn : 메타데이터 데이터베이스의 연결
    • parallelism : 전체 시스템의 동시 작업 실행 수를 지정

2. [scheduler]

  • 기능 : 스케줄러의 동작 방식 설정을 관리합니다.
  • 주요 설정
    • job_heartbeat_sec : 스케줄러의 상태를 확인하는 간격 설정
    • scheduler_heartbeat_sec : 스케줄링 주기를 정의

3. [webserver]

  • 기능 : 웹 서버 설정을 담당합니다.
  • 주요 설정
    • web_server_port : 웹 서버의 포트 번호를 지정
    • authenticate : 웹 인터페이스에 대한 사용자 인증 활성화 여부 결정
    • rbac : 역할 기반 접근 제어 활성화 여부 결정

4. [email]

  • 기능 : 이메일 알림 시스템의 설정을 관리합니다.
  • 주요 설정
    • email_backend : 이메일 전송에 사용할 백엔드 서비스를 지정

5. [smtp]

  • 기능 : SMTP 서버 설정을 관리합니다.
  • 주요 설정
    • smtp_host, smtp_user, smtp_password : SMTP 서버의 주소 인증

6. [database]

  • 기능 : 메타데이터 데이터베이스 설정을 관리합니다.
  • 주요 설정
    • sql_alchemy_conn : SQLAlchemy를 통한 데이터베이스 연결

7. [celery]

  • 기능 : Celery Executor 사용 시 필요한 설정을 제공합니다.
  • 주요 설정
    • broker_url, celery_result_backend : 메시지 브로커와 result_backend의 연결 정보를 지정

8. [logging]

  • 기능: 로깅 설정을 관리합니다.
  • 주요 설정
    • base_log_folder : 로그 파일을 저장할 기본 폴더 지정
    • log_filename_template : 로그 파일의 이름 형식 설정

9. [metrics]

  • 기능 : 시스템 성능 메트릭 관리를 담당합니다.
  • 주요 설정
    • statsd_on, statsd_host, statsd_port : StatsD 서버 설정

10. [kubernetes]

  • 기능 : Kubernetes Executor 사용 시 필요한 설정을 제공합니다.
  • 주요 설정
    • worker_container_repository, worker_container_tag : Kubernetes에서 사용할 컨테이너 이미지의 저장소와 태그를 지정
반응형
Comments