MapReduce服务 MRS-Spark REST API接口介绍:REST接口

时间:2025-02-12 15:00:33

REST接口

通过以下命令可跳过REST接口过滤器获取相应的应用信息。

普通模式下,JobHistory仅支持http协议,故在如下命令的url中请使用http协议。

  • 获取JobHistory中所有应用信息:
    • 命令:
      curl http://192.168.227.16:4040/api/v1/applications?mode=monitoring --insecure

      其中192.168.227.16为JobHistory节点的业务IP,4040为JobHistory的端口号。

    • 结果:
      [ {  "id" : "application_1517290848707_0008",  "name" : "Spark Pi",  "attempts" : [ {    "startTime" : "2018-01-30T15:05:37.433 CS T",    "endTime" : "2018-01-30T15:06:04.625CST",    "lastUpdated" : "2018-01-30T15:06:04.848CST",    "duration" : 27192,    "sparkUser" : "sparkuser",    "completed" : true,    "startTimeEpoch" : 1517295937433,    "endTimeEpoch" : 1517295964625,    "lastUpdatedEpoch" : 1517295964848  } ]}, {  "id" : "application_1517290848707_0145",  "name" : "Spark shell",  "attempts" : [ {    "startTime" : "2018-01-31T15:20:31.286CST",    "endTime" : "1970-01-01T07:59:59.999CST",    "lastUpdated" : "2018-01-31T15:20:47.086CST",    "duration" : 0,    "sparkUser" : "admintest",    "completed" : false,    "startTimeEpoch" : 1517383231286,    "endTimeEpoch" : -1,    "lastUpdatedEpoch" : 1517383247086  } ]}]
    • 结果分析:
      通过这个命令,可以查询当前集群中所有的Spark应用(包括正在运行的应用和已经完成的应用),每个应用的信息如下表1
      表1 应用常用信息

      参数

      描述

      id

      应用的ID

      name

      应用的Name

      attempts

      应用的尝试,包含了开始时间、结束时间、执行用户、是否完成等信息

  • 获取JobHistory中某个应用的信息:
    • 命令:
      curl http://192.168.227.16:4040/api/v1/applications/application_1517290848707_0008?mode=monitoring --insecure

      其中192.168.227.16为JobHistory节点的业务IP,4040为JobHistory的端口号,application_1517290848707_0008为应用的id。

    • 结果:
      {  "id" : "application_1517290848707_0008",  "name" : "Spark Pi",  "attempts" : [ {    "startTime" : "2018-01-30T15:05:37.433CST",    "endTime" : "2018-01-30T15:06:04.625CST",    "lastUpdated" : "2018-01-30T15:06:04.848CST",    "duration" : 27192,    "sparkUser" : "sparkuser",    "completed" : true,    "startTimeEpoch" : 1517295937433,    "endTimeEpoch" : 1517295964625,    "lastUpdatedEpoch" : 1517295964848  } ]}
    • 结果分析:

      通过这个命令,可以查询某个Spark应用的信息,显示的信息如表1所示。

  • 获取正在执行的某个应用的Executor信息:
    • 针对alive executor命令:
      curl http://192.168.169.84:8088/proxy/application_1478570725074_0046/api/v1/applications/application_1478570725074_0046/executors?mode=monitoring --insecure
    • 针对全部executor(alive&dead)命令:
      curl http://192.168.169.84:8088/proxy/application_1478570725074_0046/api/v1/applications/application_1478570725074_0046/allexecutors?mode=monitoring --insecure

      其中192.168.195.232为ResourceManager主节点的业务IP,8088为ResourceManager的端口号,application_1478570725074_0046为在YARN中的应用ID。

    • 结果:
      [{  "id" : "driver",  "hostPort" : "192.168.169.84:23886",  "isActive" : true,  "rddBlocks" : 0,  "memoryUsed" : 0,  "diskUsed" : 0,  "activeTasks" : 0,  "failedTasks" : 0,  "completedTasks" : 0,  "totalTasks" : 0,  "totalDuration" : 0,  "totalInputBytes" : 0,  "totalShuffleRead" : 0,  "totalShuffleWrite" : 0,  "maxMemory" : 278019440,  "executorLogs" : { }}, {  "id" : "1",  "hostPort" : "192.168.169.84:23902",  "isActive" : true,  "rddBlocks" : 0,  "memoryUsed" : 0,  "diskUsed" : 0,  "totalCores" : 1,  "maxTasks" : 1,  "activeTasks" : 0,  "failedTasks" : 0,  "completedTasks" : 0,  "totalTasks" : 0,  "totalDuration" : 0,  "totalGCTime" : 139,  "totalInputBytes" : 0,  "totalShuffleRead" : 0,  "totalShuffleWrite" : 0,  "maxMemory" : 555755765,  "executorLogs" : {    "stdout" : "https://XTJ-224:8044/node/containerlogs/container_1478570725074_0049_01_000002/admin/stdout?start=-4096",    "stderr" : "https://XTJ-224:8044/node/containerlogs/container_1478570725074_0049_01_000002/admin/stderr?start=-4096"  }} ]
    • 结果分析:
      通过这个命令,可以查询当前应用的所有Executor信息(包括Driver),每个Executor的信息包含如下表2所示的常用信息。
      表2 Executor常用信息

      参数

      描述

      id

      Executor的ID

      hostPort

      Executor所在节点的ip:端口

      executorLogs

      Executor的日志查看路径

support.huaweicloud.com/devg-lts-mrs/mrs_07_410130.html