首页 > 解决方案 > 如何使用 yarn rest api 提交作业以激发火花?我想使用 YARN REST API 提交作业以触发

问题描述

我正在构建一个用于触发火花作业和检查作业状态的界面。

我不能使用像 Livy、spark 作业服务器这样的 3rd 方库。我想通过 REST API 制作用于启动和提交作业以触发集群的 API。

标签: apache-sparkhadoop-yarn

解决方案


您可以使用火花作业服务器 - https://github.com/spark-jobserver/spark-jobserver

更新 -

没看到spark job server不能用,可以用下面的

作业提交

curl -X POST http://spark-cluster-ip:6066/v1/submissions/create --header "Content-Type:application/json;charset=UTF-8" --data '{
  "action" : "CreateSubmissionRequest",
  "appArgs" : [ "myAppArgument1" ],
  "appResource" : "file:/myfilepath/spark-job-1.0.jar",
  "clientSparkVersion" : "1.5.0",
  "environmentVariables" : {
    "SPARK_ENV_LOADED" : "1"
  },
  "mainClass" : "com.mycompany.MyJob",
  "sparkProperties" : {
    "spark.jars" : "file:/myfilepath/spark-job-1.0.jar",
    "spark.driver.supervise" : "false",
    "spark.app.name" : "MyJob",
    "spark.eventLog.enabled": "true",
    "spark.submit.deployMode" : "cluster",
    "spark.master" : "spark://spark-cluster-ip:6066"
  }
}

工作现状

curl http://spark-cluster-ip:6066/v1/submissions/status/driver-20151008145126-0000

推荐阅读