前言
另一个气流任务没有得到执行的问题......
直到本周末事情真的走下坡路,在我的气流体验中,一切都或多或少地进行着。
我已经检查了所有标准的东西,例如这篇有用的帖子中概述的。
我已经多次重置整个实例,试图让它正常工作,但我在这里完全输掉了这场战斗。
环境
- 版本:气流1.10.2
- 操作系统:centos 7
- 蟒蛇:蟒蛇3.6
- 虚拟环境:是的
- 执行者:LocalExecutor
- 后端数据库:mysql
问题
这是我的故障排除无限循环/反复出现的噩梦中发生的事情。
- 我重置元数据数据库(或者可能是整个 virtualenv 和配置等)并重新输入连接信息。
- 任务将执行一次。他们可能会成功。如果我错过了设置中的某些内容,则任务可能会失败。
- 当任务失败时,它会进入重试状态。
- 我解决了这个问题(例如忘记输入连接)并手动清除任务实例。
- 清除的任务实例不会运行,而只是处于“无”状态
- 尝试让 dag 再次运行失败。
在我开始遇到这个问题之前,在清除了一个任务实例之后,它总是会很快被重新拾取并再次执行。
但是现在,清除任务实例通常会导致任务实例卡在清除状态。它只是坐在那里。
更糟糕的是,如果我尝试使 dag 和所有实例失败,并再次手动触发 dag,则任务实例会被创建但仍处于“无”状态。重新启动调度程序没有帮助。
其他观察
这可能是一个红鲱鱼,但我最近才注意到的一件事是,当我单击代表停留在“无”状态的任务实例的图标时,它会将我带到一个错误的“任务实例”视图过滤器筛选; 过滤器设置为“字符串等于空”。
但是您需要将其切换为“string empty yes”,以便让它真正返回卡住的任务实例。
我假设这只是一个不相关的 UI 错误,就我而言,这是一个红鲱鱼,但我想我会提到它以防万一。
编辑 1
编辑 2
null任务实例状态的值是否有效?或者这是否表明有问题。
编辑 3
更多none的东西。
以下是任务实例详细信息页面中的一些内容。很多属性是none:
Task Instance Details
Dependencies Blocking Task From Getting Scheduled
Dependency Reason
Unknown All dependencies are met but the task instance is not running. In most cases this just means that the task will probably be scheduled soon unless:
- The scheduler is down or under heavy load
- The following configuration values may be limiting the number of queueable processes: parallelism, dag_concurrency, max_active_dag_runs_per_dag, non_pooled_task_slot_count
- This task instance already ran and had its state changed manually (e.g. cleared in the UI)
If this task instance does not start soon please contact your Airflow administrator for assistance.
Task Instance Attributes
Attribute Value
duration None
end_date None
is_premature False
job_id None
operator None
pid None
queued_dttm None
raw False
run_as_user None
start_date None
state None
更新
我可能终于开始做某事了...
在我噩梦般的、马拉松式的、卡在暮光区的故障排除会议之后,我举起双手,决定使用 docker 容器而不是本地运行。这太奇怪了。事情只是没有意义。我需要迁移到 docker,以便可以完全控制和复制环境。
所以我开始研究基于 puckel/docker-airflow 的 docker 设置。这也不是一件容易的事,因为我决定对所有参数和连接使用环境变量。并非所有钩子都以相同的方式解析连接 URI,因此您必须小心并查看代码并进行一些试验和错误。
然后我就这样做了,我终于让我的 docker 设置在本地工作。但是当我在我的 EC2 实例上构建镜像时,我发现磁盘已满。这在很大程度上是由于气流日志,它是满的。
所以,我的新理论是磁盘空间不足可能与此有关。我不确定我是否能够在日志中找到确凿的证据,但我会看看。

