更新时间:2024-10-31 GMT+08:00

MapReduce REST API接口介绍

功能简介

通过HTTP REST API来查看更多MapReduce任务的信息。目前Mapresuce的REST接口可以查询已完成任务的状态信息。完整和详细的接口请直接参考官网上的描述以了解其使用:http://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的端口号。

    在部分低版本操作系统中使用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

    任务执行成功或失败