我正在大学项目中使用hadoop,我正在构建一个用于演示的应用程序。我决定使用restapi,因为我将远程演示。我正在尝试使用json查询运行“wordcount”示例,它似乎运行得很好。
我的问题是为什么hadoop要启动两个应用程序,见图:
我提交了申请:“申请书”然后另一个开始。这种行为正常吗?还有什么。进度条一直没有以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"
}
谢谢你的时间。
1条答案
按热度按时间k2arahey1#
我已经看到多个应用程序开始使用,例如Pig的工作,或oozie工作。因此,我并不觉得奇怪。
然而,在您的屏幕截图中有一些奇怪的地方:您的应用程序似乎具有已接受的状态(而不是正在运行)。因此,is有任何进展都是令人惊讶的,因为人们通常期望在作业开始运行之后构建进展。
我的建议是:只需调试失败的应用程序,而不用担心2个应用程序是同时创建的。
有点超出了这个问题的范围,但如果你注意到它被卡在“接受”一个通常会检查是否有足够的能力开始新的工作(查看内存和容器计数)。