airflow - 气流(LocalExecutor) - Docker :: 作业失败,日志文件不存在
问题描述
气流版本:1.10.9
执行者:本地执行者
案卷设置
当作业有时运行时,我们会收到以下错误。我在网上搜索过,很多人在 celeryExecutor 中遇到过这个问题,但我们使用的是 LocalExecutor(Docker 设置)。我该如何解决这个问题?
*** Log file does not exist: /home/ubuntu/airflow/airflow/logs/es_update_relevance_score/es_update_relevance_score/2020-05-14T16:26:06.062416+00:00/1.log
*** Fetching from: http://:8793/log/es_update_relevance_score/es_update_relevance_score/2020-05-14T16:26:06.062416+00:00/1.log
*** Failed to fetch log file from worker. Invalid URL 'http://:8793/log/es_update_relevance_score/es_update_relevance_score/2020-05-14T16:26:06.062416+00:00/1.log': No host supplied
解决方案
这是我在自己的容器中运行scheduler
and并使用时看到的一种方法:webserver
LocalExecutor
- 将主机日志目录作为卷挂载到容器
scheduler
和webserver
容器中:
volumes:
- /location/on/host/airflow/logs:/opt/airflow/logs
- 确保气流容器中的用户(通常
airflow
)具有读取和写入该目录的权限。如果权限错误,您将看到类似于您帖子中的错误。
不过,这可能不会超出LocalExecutor
使用范围。