【问题标题】:Airflow seems to be losing track of tasks and considering them failed气流似乎正在丢失任务并认为它们失败了
【发布时间】:2020-08-31 16:55:00
【问题描述】:

我正在使用云作曲家 composer-1.10.6-airflow-1.10.6

气流启动任务似乎存在问题并且无法跟踪它们。日志停止,最终被标记为失败,但实际上任务成功完成。如果我们配置了重试,这对于非幂等任务(如附加数据的任务)来说是一个大问题。每当发生这种情况时,我都必须手动调查该任务是否确实完成,并相应地标记该作业。

这是一个示例日志。这是此问题的典型日志。里面没有太多有用的信息,基本上它们看起来就像过早结束(因此感觉就像气流失去了工作的轨迹)。同时,作业仍然成功完成。

*** Reading remote log from gs://bucket/log/path/log.log
[2020-08-31 12:16:33,450] {taskinstance.py:630} INFO - Dependencies all met for <TaskInstance: builder.launch_loader_prd 2020-08-30T10:30:00+00:00 [queued]>
[2020-08-31 12:16:33,569] {taskinstance.py:630} INFO - Dependencies all met for <TaskInstance: builder.launch_loader_prd 2020-08-30T10:30:00+00:00 [queued]>
[2020-08-31 12:16:33,571] {taskinstance.py:841} INFO -
--------------------------------------------------------------------------------
[2020-08-31 12:16:33,572] {taskinstance.py:842} INFO - Starting attempt 1 of 1
[2020-08-31 12:16:33,572] {taskinstance.py:843} INFO -
--------------------------------------------------------------------------------
[2020-08-31 12:16:33,605] {taskinstance.py:862} INFO - Executing <Task(DataflowTemplateOperator): launch_loader_prd> on 2020-08-30T10:30:00+00:00
[2020-08-31 12:16:33,608] {base_task_runner.py:133} INFO - Running: ['airflow', 'run', 'builder', 'launch_loader_prd', '2020-08-30T10:30:00+00:00', '--job_id', '449104', '--pool', 'default_pool', '--raw', '-sd', 'DAGS_FOLDER/mydag.py', '--cfg_path', '/tmp/tmpmzlheavp']

感谢任何帮助。谢谢。

【问题讨论】:

    标签: airflow google-cloud-composer


    【解决方案1】:

    您共享的日志似乎是任务开始的预期日志。如果任务失败并在一段时间后标记为失败,我会检查是否有类似以下的日志:

    Executor reports task instance &lt;TaskInstance: YOUR_TASK 2020-08-31 10:30:00+00:00 [queued]&gt; finished (failed) although the task says its queued. Was the task killed externally?.

    在 Stackdriver 中检查此类日志,以获取有关任务被标记为失败的原因的更多信息。

    现在,关于问题本身,我可以看到您正在执行 DataflowTemplateOperator,可能发生的情况是由于某些问题,任务无法从 Dataflow 取回状态(请参阅 @987654321 @) 并且它失败,或者,任务最终超时等待作业完成并被标记为失败(如果是这种情况,您将在日志中看到“超时”消息。解决方案是增加超时用于执行任务)。

    在这两种情况下,我的建议是直接在 Stackdriver 中查找日志以获取有关您的任务的更多信息。

    如果问题不仅与DataflowTemplateOperator 有关,还与任何任务有关,那么我会检查集群的整体状态,看看是否有任何与 pod evictions 或类似问题有关的错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-24
      • 2018-07-13
      • 1970-01-01
      • 2019-04-13
      • 2017-09-08
      • 2016-09-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多