[숙제 - 43일 차] airflow.cfg 관련 문제 해결

2024. 5. 22. 20:51·[프로그래머스] 데이터 엔지니어링 데브코스 3기/숙제

Airflow.cfg 관련 문제

DAGs 폴더는 어디에 지정되는가?

airflow.cfg (line 2 ~ 4)

  • section : core
  • key : dags_folder
# The folder where your airflow pipelines live, most likely a
# subfolder in a code repository. This path must be absolute.
dags_folder = /opt/airflow/dags

설명

airflow.cfg의 최상단을 보면 core 섹션의 dags_folder가 있다. 현재 /opt/airflow/dags로 지정돼 있고, dags의 내부 디렉터리에 DAG가 위치하게 된다. 또한 절대 경로로 지정해줘야 한다.

새로운 DAG 생성 시 Airflow에서 알 수 있도록 스캔 주기를 결정해 주는 키의 이름은?

airflow.cfg (line 978 ~ 979)

  • section : scheduler
  • key : dag_dir_list_interval
  • default : 300 sec (5 min)
# How often (in seconds) to scan the DAGs directory for new files. Default to 5 minutes.
dag_dir_list_interval = 300

설명

새로운 DAG를 생성하면 기본적으로 5분마다 새로운 DAG를 확인할 수 있도록 스캔한다. DAGs 디렉터리를 더 자주 스캔하고 싶다면, dag_dir_list_interval 값을 더 낮은 값으로 변경하면 된다.

Airflow를 API 형태로 외부에서 조작하고 싶다면 어느 섹션을 변경해야 하는가?

airflow.cfg (line 461 ~ 464)

  • section : api
  • key : auth_backends
  • default : airflow.api.auth.backend.session
# Comma separated list of auth backends to authenticate users of the API. See
# https://airflow.apache.org/docs/apache-airflow/stable/security/api.html for possible values.
# ("airflow.api.auth.backend.default" allows all requests for historic reasons)
auth_backends = airflow.api.auth.backend.session

설명

DAG는 Worker에서 동작하고, Airflow REST API 서버는 Webserver에서 동작한다. DAG에서 Airflow REST API를 호출하고 싶다면, Worker에서 Webserver로 REST API 내부 호출이 가능해야 한다. auth_backends의 값을 airflow.api.auth.backend.basic_auth로 변경하면 Pod 간 Airflow REST API를 내부 호출을 할 수 있다.

Variable에서 변수의 값을 Encrypted 되기 위한 키워드는?

Variable의 key로 지정하면 value가 암호화되는 키워드는 다음과 같다.

  • password
  • secret
  • passwd
  • authorization
  • api_key
  • apikey
  • access_token

예시

airflow.cfg 파일을 반영하기 위한 명령어는?

airflow.cfg를 수정 후 변경 사항을 실제로 반영하기 위해서는 airflow 관련 서비스(Web server, Scheduler, Worker)를 재시작해야 한다.

Docker Compose

Doker Compose를 사용하여 Airflow를 실행 중이라면, 전체 서비스를 재시작할 수 있다.

docker-compose down
docker-compose up -d # -d : 백그라운드에서 실행

EC2

EC2 인스턴스에서는 systemctl 명령어를 사용해 서비스를 재시작할 수 있다.

sudo systemctl restart airflow-webserver
sudo systemctl restart airflow-scheduler

Metadata DB의 내용을 암호화하는 데 사용되는 키는?

airflow.cfg (line 70 ~ 71)

  • section : core
  • key : fernet_key
# Secret key to save connection passwords in the db
fernet_key =

설명

Airflow에서 Metadata DB의 내용을 암호화하는 데 사용하는 키는 fernet_key이다. 이 키는 데이터를 암호화 및 복호화할 수 있으므로 안전하게 관리돼야 하며, 손실되거나 변경되면 암호화된 데이터를 복호화할 수 없다.

Reference

https://wooono.tistory.com/754

https://dydwnsekd.tistory.com/65

'[프로그래머스] 데이터 엔지니어링 데브코스 3기 > 숙제' 카테고리의 다른 글

[숙제 - 52일 차] 활성화된 DAG 찾기, config API 활성화, variables API  (0) 2024.06.04
[숙제 - 51일 차] mau_summary, channel_summary를 config로 옮기기  (0) 2024.06.03
[숙제 - 41일 차] 데이터 파이프라인 실습 코드 문제점 해결하기  (0) 2024.05.20
[숙제 - 33일 차] S3 -> Redshift, COPY 명령어로 데이터 적재하기 (2)  (0) 2024.05.09
[숙제 - 32일 차] S3 -> Redshift, COPY 명령어로 데이터 적재하기  (2) 2024.05.09
'[프로그래머스] 데이터 엔지니어링 데브코스 3기/숙제' 카테고리의 다른 글
  • [숙제 - 52일 차] 활성화된 DAG 찾기, config API 활성화, variables API
  • [숙제 - 51일 차] mau_summary, channel_summary를 config로 옮기기
  • [숙제 - 41일 차] 데이터 파이프라인 실습 코드 문제점 해결하기
  • [숙제 - 33일 차] S3 -> Redshift, COPY 명령어로 데이터 적재하기 (2)
기억에 남는 블로그 닉네임
기억에 남는 블로그 닉네임
  • 기억에 남는 블로그 닉네임
    얕게, 깊게
    기억에 남는 블로그 닉네임
  • 전체
    오늘
    어제
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
    • 분류 전체보기
      • Data Engineering
        • Airflow
        • 빅데이터
        • 자동화
        • 기타
      • Infra
        • AWS
        • Terraform
        • [인프라 구축기] Terraform 활용 AWS ..
      • CS
        • 자료구조
        • 알고리즘
        • 네트워크
        • 데이터베이스
        • 이것이 취업을 위한 코딩 테스트다 with 파이썬
      • Python
      • Web
      • Git
      • 기타
        • 취업 & 진로
        • 회고록
        • 기타
      • 프로젝트 단위 공부
        • [부스트코스] DataLit : 데이터 다루기
        • [개인 프로젝트] 공모전 크롤링
        • [개인 프로젝트] FC Online 공식 경기 분..
        • 프로젝트 개선 방안
      • [프로그래머스] 데이터 엔지니어링 데브코스 3기
        • TIL(Today I Learn)
        • 숙제
        • 기타
      • 알고리즘 연습
        • 프로그래머스
        • 백준
  • 링크

    • 깃허브
    • 링크드인
  • 인기 글

  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
기억에 남는 블로그 닉네임
[숙제 - 43일 차] airflow.cfg 관련 문제 해결
상단으로

티스토리툴바