我正在我的大学项目中使用Hadoop,我正在构建一个用于演示目的的应用程序。我决定使用REST API,因为我将进行远程演示。我正在尝试使用JSON查询来运行'wordcount‘示例,它似乎工作得很好。
我的问题是为什么Hadoop启动两个应用程序,见下图:

我提交了申请:"application_1427474834422_0076“,然后另一个就开始了。这是正常行为吗?还有呢。进度条没有以18.2%的速度移动,最终失败
下面是我使用的JSON查询
{
"application-id": "application_1471255114270_0082",
"application-name": "wordcount",
"am-container-spec": {
"local-resources": {
"entry": [{
"key": "hadoop-mapreduce-examples.jar",
"value": {
"resource": "hdfs://10.2.45.38:8020/applications/MapReduce/hadoop-mapreduce-examples.jar",
"type": "FILE",
"visibility": "APPLICATION",
"size": "273458",
"timestamp": "1470646121574"
}
}]
},
"commands": {
"command": "/usr/java/jdk1.7.0_71/bin/java -Xmx10m org.apache.hadoop.util.RunJar hadoop-mapreduce-examples.jar wordcount hdfs://10.2.45.38:8020/demo.txt hdfs://10.2.45.38:8020/output 1>/tmp/mrtest.stdout 2>/tmp/mrtest.stderr"
},
"environment": {
"entry": [{
"key": "CLASSPATH",
"value": "/usr/hdp/2.3.4.7-4/hadoop/etc/hadoop<CPS>/usr/hdp/2.3.4.7-4/hadoop/*<CPS>/usr/hdp/2.3.4.7-4/hadoop/lib/*<CPS>/usr/hdp/2.3.4.7-4/hadoop/client/*<CPS>/usr/hdp/2.3.4.7-4/hadoop-mapreduce/*<CPS>/usr/hdp/2.3.4.7-4/hadoop-mapreduce/lib/*<CPS>/usr/hdp/2.3.4.7-4/hadoop-hdfs/*<CPS>/usr/hdp/2.3.4.7-4/hadoop-hdfs/lib/*<CPS>/usr/hdp/2.3.4.7-4/hadoop-yarn/*<CPS>/usr/hdp/2.3.4.7-4/hadoop-yarn/lib/*<CPS>/lib/*"
}]
}
},
"unmanaged-AM": "false",
"max-app-attempts": "2",
"resource": {
"memory": "1024",
"vCores": "1"
},
"application-type": "MAPREDUCE",
"keep-containers-across-application-attempts": "false"
}
耽误您时间,实在对不起。
发布于 2016-08-16 23:03:17
我曾见过多个应用程序启动,例如猪作业或oozie作业。因此,我并不觉得奇怪。
然而,在您的屏幕截图中有一些奇怪的东西:您的应用程序的状态似乎是已接受(而不是正在运行)。因此,is有任何进展是令人惊讶的,因为人们通常会期望在作业开始运行后进度会建立起来。
我的建议是:只调试失败的应用程序,不用担心同时创建两个应用程序。
有点超出了这个问题的范围,但是如果你注意到它停留在“已接受”状态,人们通常会检查是否有足够的可用容量来开始新的工作。(查看内存和容器计数)。
https://stackoverflow.com/questions/38971384
复制相似问题