반응형
Airflow 설정 시, 로그 파일과 DAG 파일의 디렉토리를 설정하는 것은 매우 중요하다. 이를 위해 Docker Compose 파일에서 환경 변수를 설정하여 쉽게 관리할 수 있다. 아래는 Airflow의 로그와 DAG 파일 디렉토리를 설정하는 방법을 알아본다.
환경 변수 설정
- AIRFLOW__CORE__BASE_LOG_FOLDER: Airflow의 모든 로그 파일이 저장되는 기본 디렉토리를 지정한다.
- AIRFLOW__CORE__DAG_PROCESSOR_MANAGER_LOG_LOCATION: DAG DAG Processor Manager는 로그 파일 경로를 지정한다. DAG Processor Manager는 주기적으로 DAG 파일들을 스캔하고 파싱하여 DAG 객체를 Airflow가 인식 가능한 형태로 변환하는 역할을 한다.
- AIRFLOW__CORE__DAGS_FOLDER: DAG 파일이 위치한 디렉토리를 지정한다.
Docker Compose 설정 예시
version: '3'
x-airflow-common-env: &airflow-common-env
environment:
- AIRFLOW__CORE__BASE_LOG_FOLDER=/app/airflow/logs # 기본 값 /opt/airflow/logs
- AIRFLOW__CORE__DAG_PROCESSOR_MANAGER_LOG_LOCATION=/app/airflow/logs/dag_processor_manager.log
- AIRFLOW__CORE__DAGS_FOLDER=/app/airflow/dags # 기본 값 /opt/airflow/dags
working_dir: /app # 컨텡테이너의 기본 작업 디렉토리, 기본 값 /opt
volumes:
- ./dags:/app/dags
- ./logs:/app/airflow/logs
services:
webserver:
image: apache/airflow:latest
<<: *airflow-common-env
ports:
- "8080:8080"
command: webserver
scheduler:
image: apache/airflow:latest
<<: *airflow-common-env
command: scheduler
worker:
image: apache/airflow:latest
<<: *airflow-common-env
command: worker
flower:
image: apache/airflow:latest
<<: *airflow-common-env
ports:
- "5555:5555"
command: flower
위 설정으로 프로젝트의 환경에 맞게 디렉토리를 변경하여 컨테이너를 생성할 수 있다.
반응형
'Airflow' 카테고리의 다른 글
Airflow에서 실행 중인 DAG의 코드 수정과 서버 재 시작 시 DAG 영향 (1) | 2024.11.16 |
---|---|
Docker에서 Airflow를 설정하고 서버 간 로그 공유하기 (0) | 2024.08.01 |
파이썬 스크립트 실행을 위한 Airflow DAG 설정하기 (0) | 2024.04.12 |
Airflow 에어플로우 Docker 컨테이너화 (1) | 2024.02.24 |
Apache Airflow 입문: 기본 개념부터 Airflow 컨테이너 실습 (0) | 2024.02.24 |