본문 바로가기

일상/TIL

TIL - 20241113

반응형

Airflow task가 queue 상태로 유지되는 이슈

관련 환경

  • Kubernetes 상에서 CeleryExecutor로 실행
  • Redis를 큐로 사용
  • DB의 경우 postgresql을 사용

문제가 된 Task

Spark 잡을 제출하기 위해서 SparkSubmitHook을 사용하는 custom operator를 만들었고 해당 operator를 Dynamic Task Mapping를 활용해서 task를 생성함.
해당 task가 scheduled 에서 queue 상태로는 잘 가는데 그 이후로 running 상태로 변경되지 않는 문제가 있었음

원인

원인은 매우 심플했는데 custom operator를 만들 때 yarn 제출 시 사용할 queue에 대한 정보를 생성자에서 전달받을 수 있도록 queue 파라미터를 추가했는데, 이게 Dynamic Task Mapping으로 사용하는 경우 해당 파라미터로 전달된 값이 celery에서 활용하는 큐의 정보로 넘어가서 동작하지 않는 이슈

해결 방안

custom operator에서 전달하는 queue 파라미터의 이름을 다른 이름으로 변경해서 배포한 결과 task 가 문제 없이 잘 실행되는 것을 확인함

반응형

'일상 > TIL' 카테고리의 다른 글

TIL - 20241115  (0) 2024.11.15
TIL - 20241114  (0) 2024.11.14
TIL - 20241112  (1) 2024.11.12
TIL - 20241110  (3) 2024.11.10
TIL - 20241109  (6) 2024.11.09