트러블슈팅
-
Airflow on ECS 파이프라인 구축기프로젝트 회고록 2023. 7. 10. 23:38
기존 ec2 기반의 airflow 서비스가 예고 없이 죽어서 멈췄을때, 자동으로 다시 서비스가 시작될 수 있도록 컨테이너 서비스로 이전할 필요가 있다는 결론을 내렸습니다. 또한 기존에는 한 대의 ec2 서버에 airflow의 모든 구성 요소들이 다 돌아가고 있었다면, 각 서비스들을 분리하여 서로의 작업이 각자의 기능에 영향을 끼치지 않도록 ECS상에서 개별 서비스용 컨테이너를 생성하여 airflow를 멀티클러스터화 하려는 목적에 있었습니다. 처음 시작은 EKS를 활용한 파이프라인 구축을 목표로 했지만, 러닝커브를 고려해서 이전에 경험해봤던 ECS를 기반으로 한 파이프라인 구축을 시작했습니다. 이전의 ECS는 추천모델 서빙 용도로만 사용해봤었고, ECS 위에서 airflow를 구축하는건 처음이라 중간 중간..
-
내가 문제를 해결하는 방법(feat. 모든 답은 코드에 있다@_@)개발Tip 2023. 5. 27. 12:43
데이터 엔지니어링 업무에서 갑작스럽게 예기치 않은 에러들을 만났을 때, 문제를 해결하는 방법에 대해 짧게나마 생각을 정리해보려고 한다. 문제상황 case: airflow에서 센서(정확히는 ExternalTaskSensor)로 dependency가 걸려있는 두 개의 dag에서 에러 발생 A DAG -> B DAG의 순서로 돌아야하지만 B가 A가 끝나기도 전에 먼저 돌아감 센서 작동이 잘 안되거나/ 앞 DAG의 task 결과에 따른 dependency가 반영이 안됨 한마디로 스케줄이 꼬여버림 해결방법 고민: 문제를 정확히 파악했으면 어떻게 해결해야할까 잠시 고민 rewind 기법으로 코드를 돌아가보며 머릿속으로 전체 시나리오 시뮬레이션해보기 해결방안 : 코드를 돌아가보니 센서는 가장 최신의 dag_run i..