前言
本文基于structured streaming开展。spark应用部署后因集群资源不足等问题导致应用出现‘卡住’现象,如下图所示。我们在应用部署后不可能时时关注应用的运行状况,应用可能卡住一晚、一天甚至更长时间,那么及时发现应用‘卡住’现象,排查卡住原因,也是很有必要的。
参考
1.spark官网提供了Monitoring Streaming Queries板块。有两种用于监视和调试active query的方式:interactively 和asynchronously,并给出了代码实现。我这里主要以asynchronously实现监控。
2.Spark2.2(三十九):如何根据appName监控spark任务,当任务不存在则启动(任务存在当超过多久没有活动状态则kill,等待下次启动) 该文章中实现卡住监控也是围绕asynchronously实现的,将query的实时状态信息写入hdfs,通过脚本