Mar*_*rco 6 scala amazon-ec2 hdfs apache-spark
我有一个bash脚本,每晚都会启动我的独立EC2 Spark集群并执行一个应用程序.我希望在应用程序完成后注意到我可以停止群集.
我想知道是否存在基于spark应用程序状态的某种回调.
我很新兴,所以另外一个解决这个问题的提示将不胜感激.
谢谢.
更新:
使用json提供http://<master-host>:8080/metrics/master/json或者http://<master-host>:8080/metrics/applications/json我可以获得应用程序的状态(WAITING,RUNNING,FINISHED),但是我无法获得驱动程序的状态,它将告诉您执行是否失败.我确信指标必须有一个特定的配置才能显示,但我找不到它.
为了获得这种状态,我取消了提供的Web UI,http://<master-host>:8080以找到执行我的应用程序的驱动程序并获取其状态.

通过访问 Spark 的内部指标系统可以解决此问题。
下面的终端命令获取当前运行的 Spark 应用程序的指标
curl -X GET "http://<spark master>:4040/metrics/json/"
Run Code Online (Sandbox Code Playgroud)
该命令可以从脚本执行,如果没有正在运行的应用程序,您可以生成警报。