
# MapReduce REST API接口介绍
**功能简介**
通过HTTP REST API来查看更多MapReduce任务的信息。目前MapReduce的REST接口可以查询已完成任务的状态信息。完整和详细的接口请直接参考官网上的描述以了解其使用：<https://hadoop.apache.org/docs/r3.1.1/hadoop-mapreduce-client/hadoop-mapreduce-client-hs/HistoryServerRest.html>
**准备运行环境**
1. 在节点上安装客户端，例如安装到"/opt/client"目录。
2. 进入客户端安装目录"/opt/client"，执行下列命令初始化环境变量。
**source** *bigdata_env*
**操作步骤**
获取MapReduce上已完成任务的具体信息
- 命令：
  ```
  curl -k -i --negotiate -u : "http://10.120.85.2:19888/ws/v1/history/mapreduce/jobs"
  ```
  其中10.120.85.2为MapReduce的"JHS_FLOAT_IP"参数的参数值，19888为JobHistoryServer的端口号。
  ![](https://support.huaweicloud.com/devg-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
  在部分低版本操作系统中使用curl命令访问JobHistoryServer会有兼容性问题，导致无法返回正确结果。
  
- 用户能看到历史任务的状态信息（任务ID，开始时间，结束时间，是否执行成功等信息）
- 运行结果
  ```
  {
      "jobs":{
          "job":[
              {
                  "submitTime":1525693184360,
                  "startTime":1525693194840,
                  "finishTime":1525693215540,
                  "id":"job_1525686535456_0001",
                  "name":"QuasiMonteCarlo",
                  "queue":"default",
                  "user":"mapred",
                  "state":"SUCCEEDED",
                  "mapsTotal":1,
                  "mapsCompleted":1,
                  "reducesTotal":1,
                  "reducesCompleted":1
              }
          ]
      }
  }
  ```
  
- 结果分析： 通过这个接口，可以查询当前集群中已完成的MapReduce任务，并且可以得到[表1]
   表1常用信息 
  | 参数         | 参数描述      |
  |:---|:---|
  | submitTime | 任务提交时间    |
  | startTime  | 任务开始执行时间  |
  | finishTime | 任务执行完成时间  |
  | queue      | 任务队列      |
  | user       | 提交这个任务的用户 |
  | state      | 任务执行成功或失败 |
     
  
 
