气流调度程序意外关闭

时间:2018-01-08 18:48:20

标签: python-3.x amazon-ec2 airflow apache-airflow airflow-scheduler

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

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

2 个答案:

答案 0 :(得分:1)

airflow.cfg中,有一个调度程序部分。

在该部分中,有一个子进程记录的路径:

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

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

答案 1 :(得分:1)

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

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

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

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

我对GROUP BY hostname的工作类型LocalTaskJob做同样的事情,以确保每个工作人员都在工作。