*** Log file does not exist: /opt/airflow/logs/dag_id=tutorial/run_id=manual__2022-08-08T04:56:03.204164+00:00/task_id=print_date/attempt=1.log
*** Fetching from: http://:8793/log/dag_id=tutorial/run_id=manual__2022-08-08T04:56:03.204164+00:00/task_id=print_date/attempt=1.log
*** Failed to fetch log file from worker. Request URL is missing an 'http://' or 'https://' protocol.
파일의 위치가 이상하다.
그리고 DAG를 실행시키면 스케줄러에 의한 run과 수동으로 실행한 run 두 개가 같이 오랫동안 running 중이었다.
airflow.cfg
설정에서 remote_logging = True
로 변경 후 Airflow 재가동
원격 로깅을 활성화하여 container가 원격 저장소를 사용하도록 하니 괜찮아졌다.
근데 remote_logging = False
로 재설정 후 서비스 재가동 했는데 문제없이 된다....뭐냐 이거
아마 webserver나 scheduler가 실행되는 container가 원격인 host의 바인드 마운트를 공유하고 이용하기 때문에 remote_logging = True
로 해줘야되는 것 같은데 False
일 때는 왜 되냐...
그리고 DAG 수동 실행 시 Scheduler run과 Manual run이 동시에 도는 이유는 뭐지.. 그렇게 정의되어 있지 않은데...
아시는 분 코멘트 달아주시면 감사하겠습니다^^
파일의 위치는 Airflow 공식 홈페이지에서 받은 docker-compose.yaml
에 /opt
경로가 마운트 되어있다.
airflow docker compose 내부 airflow common에 cfg를 수정해주지 않으셔서 그런 것 같아 보이긴 합니다!