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