Cloud composer 任务无故或无日志地失败
Cloud composer tasks fail without reason or logs
I 运行 Airflow
在托管 Cloud-composer environment
(版本 1.9.0)中,运行s 在 Kubernetes
1.10.9-gke .5 个集群。
我所有的 DAG 运行 每天 3:00 上午或 4:00 上午。但是在早上的某个时候,我看到一些任务在夜间无缘无故地失败了。
使用 UI 检查日志时 - 我没有看到任何日志,当我检查 GCS 存储桶中的日志文件夹时也没有看到任何日志
在实例详细信息中,它显示为 "Dependencies Blocking Task From Getting Scheduled" 但依赖项是 dag运行 本身。
虽然 DAG 设置了 5 次重试和一封电子邮件,但它看起来好像没有发生任何重试,而且我还没有收到有关失败的电子邮件。
我通常只是清除任务实例,它 运行 第一次尝试就成功了。
有没有人遇到过类似的问题?
空日志通常意味着 Airflow worker pod 被驱逐(即,它在将日志刷新到 GCS 之前就死了),这通常是由于内存不足的情况。如果您转到 GKE 集群(Composer 引擎盖下的集群),您可能会看到确实有一个被逐出的 pod (GKE > Workloads > "airflow-worker")。
您可能会在 "Tasks Instances" 中看到所述任务没有 Start Date
也没有 Job Id
或工作人员 (Hostname
) 分配,添加到没有日志,是pod死亡的证明。
由于这通常发生在高度并行化的 DAG 中,避免这种情况的方法是减少工作人员并发性或使用更好的机器。
编辑:我代表您提交了这个 Feature Request 以在失败时收到电子邮件,即使 pod 被驱逐也是如此。
I 运行 Airflow
在托管 Cloud-composer environment
(版本 1.9.0)中,运行s 在 Kubernetes
1.10.9-gke .5 个集群。
我所有的 DAG 运行 每天 3:00 上午或 4:00 上午。但是在早上的某个时候,我看到一些任务在夜间无缘无故地失败了。
使用 UI 检查日志时 - 我没有看到任何日志,当我检查 GCS 存储桶中的日志文件夹时也没有看到任何日志
在实例详细信息中,它显示为 "Dependencies Blocking Task From Getting Scheduled" 但依赖项是 dag运行 本身。
虽然 DAG 设置了 5 次重试和一封电子邮件,但它看起来好像没有发生任何重试,而且我还没有收到有关失败的电子邮件。
我通常只是清除任务实例,它 运行 第一次尝试就成功了。
有没有人遇到过类似的问题?
空日志通常意味着 Airflow worker pod 被驱逐(即,它在将日志刷新到 GCS 之前就死了),这通常是由于内存不足的情况。如果您转到 GKE 集群(Composer 引擎盖下的集群),您可能会看到确实有一个被逐出的 pod (GKE > Workloads > "airflow-worker")。
您可能会在 "Tasks Instances" 中看到所述任务没有 Start Date
也没有 Job Id
或工作人员 (Hostname
) 分配,添加到没有日志,是pod死亡的证明。
由于这通常发生在高度并行化的 DAG 中,避免这种情况的方法是减少工作人员并发性或使用更好的机器。
编辑:我代表您提交了这个 Feature Request 以在失败时收到电子邮件,即使 pod 被驱逐也是如此。