作者:
过往记忆
| 新浪微博:
左手牵右手TEL
| 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明
博客地址: http://www.iteblog.com/
文章标题: 《Hadoop YARN中web服务的REST API介绍》
本文链接: http://www.iteblog.com/archives/960
Hadoop、Hive、Hbase、Flume等QQ交流群:138615359
博客地址: http://www.iteblog.com/
文章标题: 《Hadoop YARN中web服务的REST API介绍》
本文链接: http://www.iteblog.com/archives/960
Hadoop、Hive、Hbase、Flume等QQ交流群:138615359
Hadoop YARN自带了一系列的web service REST API,我们可以通过这些web service访问集群(cluster)、节点(nodes)、应用(application)以及应用的历史信息。根据API返回的类型,这些URL源归会类到不同的组。一些API返回collector类型的,有些返回singleton类型。这些web service REST API的语法如下:
1
|
http:
//{http address of service}/ws/{version}/{resourcepath}
|
其中,{http address of service}是我们需要获取信息的服务器地址,目前支持访问ResourceManager, NodeManager,MapReduce application master, and history server;{version}是这些API的版本,目前只支持v1;{resourcepath}定义singleton资源或者collection资源的路径.
下面举例说明这些web service怎么用。
假设你有一个application_1388830974669_1540349作业,并且运行完了。可以通过下面的命令得到这个作业的一些信息:
1
2
|
$ curl --compressed -H
"Accept: application/json"
-X \
|
上面的运行结果是返回一个Json格式的,如下:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
|
{
"app"
: {
"finishedTime"
:
0
,
"amContainerLogs"
:
"http://host.domain.com:8042/node/containerlogs/container_1326821518301_0010_01_000001"
,
"trackingUI"
:
"ApplicationMaster"
,
"state"
:
"RUNNING"
,
"user"
:
"user1"
,
"id"
:
"application_1326821518301_0010"
,
"clusterId"
:
1326821518301
,
"finalStatus"
:
"UNDEFINED"
,
"amHostHttpAddress"
:
"host.domain.com:8042"
,
"progress"
:
82.44703
,
"name"
:
"Sleep job"
,
"startedTime"
:
1326860715335
,
"elapsedTime"
:
31814
,
"diagnostics"
:
""
,
"queue"
:
"a1"
}
}
|
根据这些信息,用户可以获取到更多关于application_1326821518301_0010的信息,比如大家可以通过上面Json中的trackingUrl从ResourceManage中得到更进一步的信息:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
$ curl --compressed -H
"Accept: application/json"
-X \
{
"jobs"
: {
"job"
: [
{
"runningReduceAttempts"
:
1
,
"reduceProgress"
:
72.104515
,
"failedReduceAttempts"
:
0
,
"newMapAttempts"
:
0
,
"mapsRunning"
:
0
,
"state"
:
"RUNNING"
,
"successfulReduceAttempts"
:
0
,
"reducesRunning"
:
1
,
"acls"
: [
{
"value"
:
" "
,
"name"
:
"mapreduce.job.acl-modify-job"
},
{
"value"
:
" "
,
"name"
:
"mapreduce.job.acl-view-job"
}
],
"reducesPending"
:
0
,
"user"
:
"user1"
,
"reducesTotal"
:
1
,
"mapsCompleted"
:
1
,
"startTime"
:
1326860720902
,
"id"
:
"job_1326821518301_10_10"
,
"successfulMapAttempts"
:
1
,
"runningMapAttempts"
:
0
,
"newReduceAttempts"
:
0
,
"name"
:
"Sleep job"
,
"mapsPending"
:
0
,
"elapsedTime"
|