我在使用Ubuntu的EC2实例上运行气流v1.8.0
。我运行的各种DAG连接了几个不同的SQL表。我有一个反复出现的问题,airflow scheduler -D
提出的调度程序只关闭了我。当我检查airflow-scheduler.err
时没有错误。为了进行调试,我进入/airflow
目录,并使用rm airflow-scheduler*
清除所有与调度程序相关的文件,然后重新启动deamon。我正在使用LocalExecutor
。
两个问题:(1)发生了什么,我该如何解决? (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做同样的事情,以确保每个工作人员都在工作。