作业管理用户手册
分析集群通过LivyServer来管理作业,通过服务化的LivyServer可以做到客户端不依赖分析集群的环境,通过restful API即可管理作业。下面对于常用的API进行描述:
作业提交
POST /batches
通过向LivyServer发一个post提交作业,具体post构造的请求参数如下:
- 请求的参数
参数名 | 描述 | 类型 |
file | 要运行的应用的包在httpfs的路径 | httpfs上面的路径 |
className | java/scala的Spark应用的 main class | string |
args | 应用程序需要传入的参数列表 | 字符串的列表eg:[“a”,”b”] |
jars | 应用运行过程依赖的jar在httpfs的路径 | 字符串的列表 |
pyFiles | 应用依赖的python文件及三方库等在httpfs的路径 | 字符串的列表 |
files | 应用依赖的文件在httpfs的路径 | 字符串的列表 |
driverMemory | 应用driver的内存配置 | string |
driverCores | 应用driver的core配置 | int |
executorMemory | 应用各个executor的内存配置 | string |
executorCores | 应用各个executor的core配置 | int |
numExecutors | 应用executor的个数 | int |
conf | spark其他参数的配置,参考spark文档 | key=val的Map |
- 例子:
data.json
{
"file": "/resourcesdir/spark-examples_2.11-2.3.2.jar",
"className": "org.apache.spark.examples.SparkPi",
"driverMemory": "1g",
"executorMemory": "1g",
"numExecutors": 5,
"conf": {
"spark.app.name": "test"
}
}
curl -H "Content-Type: application/json" -X POST -d @data.json http://ap-xxx-master1-001.spark.9b78df04-b.rds.aliyuncs.com:8998/batches |python -m json.tool
- 返回结果:
参数名 | 描述 | 类型 |
id | 对应本次提交的Livy的session id | int |
appId | 对应本次提交的yarn的id | string |
appInfo | 详细的app提交的信息,里面包括app的web ui地址 | key=val的Map |
log | driver的log访问地址 | string |
state | app运行的状态 | stirng |
作业信息、日志及状态查询
GET /batches/{batchId}
获取对应提交的session的信息,其中包括作业状态、webui地址等
- 实例
curl http://ap-xxx-master1-001.spark.9b78df04-b.rds.aliyuncs.com:8998/batches/1| python -m json.tool
- 返回结果同上一小节“POST /batches”的返回结果
GET /batches/{batchId}/log?size=100
获取对应提交的session的日志来调查问题,且可以设置返回日志的行数参数size
- 实例
curl http://ap-xxx-master1-001.spark.9b78df04-b.rds.aliyuncs.com:8998/batches/1/log?size=200| python -m json.tool
- 返回结果
参数名 描述 类型 id 对应本次提交的Livy的session id int from 该session所有日志的开始的offset int size 返回了多少行日志 int log 具体的日志信息 stirng
GET /batches/{batchId}/state
获取对应提交的session的状态信息
- 实例
curl http://ap-xxx-master1-001.spark.9b78df04-b.rds.aliyuncs.com:8998/batches/1/state | python -m json.tool
- 返回结果
参数名 | 描述 | 类型 |
id | 对应本次提交的Livy的session id | int |
state | app运行的状态 | stirng |
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论