일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 서비스기획부트캠프
- AARRR
- 그래프
- sql정리
- 특성중요도
- 사이드프로젝트
- SLASH22
- 취업부트캠프 5기
- 임베딩
- 그로스해킹
- 유데미코리아
- SQL
- 토스
- pytorch
- 취업부트캠프
- NLP
- AWS builders
- 데이터도서
- 서비스기획
- 스타터스
- 부트캠프후기
- 유데미부트캠프
- 딥러닝
- BERT
- 스타터스부트캠프
- 유데미큐레이션
- NLU
- 추천시스템
- MatchSum
- 알고리즘
- Today
- Total
다시 이음
(trouble shooting)docker에서 airflow실행 오류?! 본문
udemy강의를 통해서 airflow를 docker를 사용해서 진행을 하는데 실행 시에 localhost:8080 을 통해서 airflow UI를 확인할 수 있습니다.
그런데 DAG를 생성하고 실행하였을 때 계속해서 running 상태이거나 업데이트가 제대로 진행되지 않는 상태라면?
docker-compose ps 명령어를 실시하여 현재 어떤 상태인지 확인해볼 필요가 있습니다.
1. State가 unhealthy 인 경우
이 경우에는 webserver 노드가 unhealthy 상태라면 localhost에 접속이 불가한 상태입니다.
이렇게 unhealthy인 경우에는 일단 실행한지 별로 되지 않았다면 1분 정도 기다린 후 다시 한번 확인해보거나 docker-compose down --volumes --remove-orphans 명령어를 실행하여 삭제를 하고 다시 실행하는 방법이 있습니다.
2. health : starting 상태가 계속 지속되는 경우
이 경우는 airflow에 접속이 가능하지만 DAG가 실행되지 않는 것을 확인할 수 있습니다.
한참을 찾아본 결과
[2021-06-13 18:16:39,693: ERROR/MainProcess] Process 'ForkPoolWorker-15' pid:23092 exited with 'signal 6 (SIGABRT)'
...
[2021-06-13 18:16:39,719: ERROR/MainProcess] Task handler raised error: WorkerLostError('Worker exited prematurely: signal 6 (SIGABRT).',)
Traceback (most recent call last):
File "~/python3.6/site-packages/billiard/pool.py", line 1267, in mark_as_worker_lost
human_status(exitcode)),
billiard.exceptions.WorkerLostError: Worker exited prematurely: signal 6 (SIGABRT).
worker 노드의 log를 확인하였을 때 위와 같은 WorkerLostError가 생성된다하면 꼭 RAM 사용량을 확인해봐야합니다.
일반적으로 airflow Executor는 Celery Executor, Sequential Executor, Local Executor로 이루어져있습니다.
기본적으로 병렬 수행이 가능한 Celery Executor를 기본적으로 많이 사용하는데 생각보다 RAM사용량이 많은 것 같습니다.
Local Executor로 변경해서 실행해보면 Airflow가 정상적으로 실행되는 것을 확인할 수 있었고 DAG 또한 정상 작동합니다.
그래서 간단한 공부용으로는 Local Executor를 사용해서 진행을 하시거나 Celery Executor를 사용하기 위해 RAM을 최적화 해주시면 정상 작동 할 것입니다.
'채우기 > Airflow' 카테고리의 다른 글
The Complete Hands-On Introduction to Apache Airflow (0) | 2023.03.10 |
---|