全部产品

作业管理用户手册

更新时间:2018-12-19 16:23:08

分析集群通过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
  • 例子:
  1. data.json
  2. {
  3. "file": "/resourcesdir/spark-examples_2.11-2.3.2.jar",
  4. "className": "org.apache.spark.examples.SparkPi",
  5. "driverMemory": "1g",
  6. "executorMemory": "1g",
  7. "numExecutors": 5,
  8. "conf": {
  9. "spark.app.name": "test"
  10. }
  11. }
  1. 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地址等

  • 实例
  1. 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

  • 实例
    1. 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的状态信息

  • 实例
  1. 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