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 指定的任务。