How to fix “Failed to fetch log file from worker. Unsupported URL protocol“ error in Airflow DAG log

镜像

apache/airflow:2.5.1-python3.8

问题描述

有些时候手动执行dag或者新增dag就会出现在会出现这个问题


*** Log file does not exist: /opt/airflow/logs/my-task/my-task/2021-06-15T14:11:33.254428+00:00/1.log
*** Fetching from: http://:8793/log/my-task/my-task/2021-06-15T14:11:33.254428+00:00/1.log
*** Failed to fetch log file from worker. Unsupported URL protocol ''

解决方案

之前曾以为是日志文件没有创建的原因,所以手动创建了/opt/airflow/logs/my-task/my-task/2021-06-15T14:11:33.254428+00:00/1.log文件,问题就解决了。
但是最近又遇到了,同样的解决方案却行不通。

于是在外网看到这篇文章。下面有个评论提到是文件权限缺了写权限导致的问题。于是我在logs文件夹上给了权限chmod 777 -R logs。这个问题就解决了。

或许也可以通过airflow的两个环境变量解决(测试中):

AIRFLOW__LOGGING__FILE_TASK_HANDLER_NEW_FILE_PERMISSIONS: '0o777'
AIRFLOW__LOGGING__FILE_TASK_HANDLER_NEW_FOLDER_PERMISSIONS: '0o777'

你可能感兴趣的:(airflow,python)