-
Notifications
You must be signed in to change notification settings - Fork 7
Airflow 에러 해결
생성한 DAG 파일이 웹 UI에 업로딩이 안되는 이슈
이에 대해 일단 2가지 관점에서 해결해볼 수 있다.
관점1: Airflow DAG 파일 scan 시간이 느려서, 마치 업로드가 안된 것처럼 보이는 상황
-
airflow.cfg
파일에 들어가면min_file_process_interval
라는 옵션이 있는데, 이것의 초기 설정 값이min_file_process_interval=300
입니다.즉, 5분에 한번씩 DAG 파일에 업데이트할 사항이 있는지 확인한다는 뜻인데, 이렇게 되면 반영이 느리기 때문에 개발자 입장에서는 마치 반영이 안된 것처럼 보일 수 있습니다.
따라서
min_file_process_interval=30
으로 줄여서 해결할 수 있습니다.이것을 무조건 줄일 경우, 메모리 낭비가 심해지기 때문제 적당한 값으로 ‘튜닝’해야한다고 합니다.
airflow.cfg
파라미터 튜닝은 검색하면 많은 결과가 나오니 참고하면 됩니다.잘 튜닝해야 컴퓨터 리소스를 제대로 활용하는 것으로 보입니다.
관점2: Airflow 기본 디렉토리 경로 설정이 잘못된 경우
-
나의 경우, 이 부분이 문제가 됐던 걸로 판단이 됐다.
왜냐면 아무리
airflow.cfg
파일을 수정하고,airflow db init
을 해도 어떠한 사항도 반영이 되지 않았기 때문이다. -
이를 해결하기 위해 AIRFLOW_HOME의 경로를 그냥 절대경로로 설정하니 해결됐다.
export AIRFLOW_HOME=absolute_PATH
추가: airflow 설치하고 웹 UI에 들어가면 example 파일들이 있는데 이를 안 보이게 설정할 수 있습니다.
-
airflow.cfg
파일에 들어가서load_examples = False
옵션을 설정하면 됩니다. - 혹시 반영이 안되는 경우,
airflow db init
을 하고, 그래도 안되면export AIRFLOW_HOME=absolute_PATH
을 해보시길 바랍니다.
export AIRFLOW_HOME=/opt/ml/input/airflow_practice
timezone 설정 에러
-
.bashrc
파일에export env TZ=KST-09:00:00
이렇게 설정했었는데, - Airflow에서는 위 형식을 따르지 않기에,
TimezoneNotFound: Timezone KST-09:00:00 not found
에러가 발생했다. - 이를 해결하기 위해
export TZ='Asia/Seoul'
로 설정하니 해결 됐다.