2

我正在v1.8.0使用 Ubuntu 的 EC2 实例上运行气流。我运行的各种 DAG 与几个不同的 SQL 表连接。我遇到了一个反复出现的问题,调度程序airflow scheduler -D只是关闭了我。当我检查airflow-scheduler.err没有错误。为了调试,我进入/airflow目录并清除所有与调度程序相关的文件rm airflow-scheduler*并重新启动守护程序。我正在使用LocalExecutor.

两个问题:(1)发生了什么,我该如何解决?(2) 如果没有快速修复,当调度程序失败时,气流是否至少有办法向我发送电子邮件?

4

2 回答 2

1

在您airflow.cfg的调度程序中有一个部分。

在该部分中,有一条路径可以记录子进程:

[scheduler]
...
child_process_log_directory = /tmp/airflow/scheduler/logs

相关的错误消息可能在此目录的日志中。

于 2018-01-08T18:56:53.197 回答
1

关于你的第二个问题,我认为气流中不存在。我认为无论如何都应该进行外部监控,因为如果 Airflow 出现问题,它可能无法通过电子邮件发送给您。

相反,您可以查看SchedulerJob生成的心跳。我对这个查询进行了一些监控:

SELECT MAX(latest_heartbeat) FROM job WHERE job_type = 'SchedulerJob';

您可以使用它来确保最近触发了调度周期。

我对工作类型LocalTask​​Job执行相同的操作,GROUP BY hostname以确保每个工人都在接手工作。

于 2018-01-08T22:55:25.663 回答