1.官方提供的restful API ( 6066端口为spark standalone 默认的restful API 端口)
这个种方式不是很好使用,尤其是对于使用脚本来提交的spark job,我们很难获取job对应的driverId,而官方提供的restful API必须获取到driverID才可以杀死对应的job。
spark-submit --master spark://master:6066 --kill ${driver-id} 这行命令其实是调用
./bin/spark-class org.apache.spark.deploy.Client kill <master url> <driver ID>
其中master url 必须是以spark:// 或者 mesos:// 开头的, 表示采用standalone 或者mesos调度。注意不支持 YARN的调度方式。(不支持http://开头)
curl -X POST http://master:6066/v1/submissions/kill/driver-id 这个是restful API ,必须指明driverId。
2.master web UI
从master UI界面上面看,我们发现隐式的提供了kill job的post请求,经过提取,我们找到了真正的post URI, 如下
curl -X POST "http://master:8080/app/kill/?id=${app-id}&terminate=true" 其中app-id 就是web UI 界面上job的 APP ID;
一个请求直接kill 指定的任务。
本文介绍两种终止Spark任务的方法:一是通过官方提供的RESTful API接口,但需获取job对应的driverID;二是利用master web UI界面提供的kill job post请求,直接终止指定任务。
1376

被折叠的 条评论
为什么被折叠?



