Big Data , ML/ETL, ELT

Airflow에서 겪은 장애 이슈

Dev.BeryL 2022. 2. 4. 15:18
728x90

Airflow 에서 해당 스케쥴을 바탕으로 실행이 되도록 설계를 해놨다.

하지만 2021년 12월 말에 큰 문제가 발생했다.

 

위 사진이 정상 실행일때 캘린더 뷰 이고,

아래 사진은 정상적인 실행이 되지 않았을 때의 캘린더 뷰이다.

이슈사항 : 한가지의 DAG 만 스케쥴에 맞춰 실행되는 것이 아닌 모든 DAG의 실행이 되고있지 않는다.

 

 

문제 인지

  • Airflow에서 default queue의 개수를 소지하고있었다. 16개로 알고있다.
  • 어떤 한 쪽에서 API를 호출하는 코드였는데, API가 호출하는데 시간이 많이 지연되고있었다.
  • API call 이 1분단위로 이루어지면서 호출하는데 로딩시간으로 1분이 넘어가 계속 queue가 쌓이게되었다.
  • 해당 DAG가 모든 queue를 소지하고 있어서 다른 dag에는 할당이 될 수가 없고 계속 대기중인 상태..

 

 

해결 방법

  • api를 호출하면서 데이터를 제공하는 서버의 문제로 확인이 되었다.
  • 일단 해당되는 dag를 일시정지 시키며 그간 쌓여있던 queue 역시 종료처리를 해주고 복구 전까지 할당하지 않도록 조치를 취했다.
  • airflow 코드 단에서 혹은 rest-api code에서 해당 호출에 대한 timeout을 적용 시키도록 하였다.
반응형