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을 적용 시키도록 하였다.
반응형