纱线容器启动失败异常和mapred-site.xml配置

时间:2015-02-18 14:54:30

标签: hadoop mapreduce yarn

我的Hadoop集群中有7个节点[每个节点有8GB RAM和4VCPU],1个Namenode + 6个数据节点。

EDIT-1 @ ARNON:我按照链接,根据我的节点上的硬件配置疯狂计算,并在我的问题中添加了更新mapred-site和yarn-site.xml文件。仍然我的应用程序崩溃与相同的执行

我的mapreduce应用程序有34个输入拆分,块大小为128MB。

mapred-site.xml 具有以下属性:

mapreduce.framework.name  = yarn
mapred.child.java.opts    = -Xmx2048m
mapreduce.map.memory.mb   = 4096
mapreduce.map.java.opts   = -Xmx2048m

yarn-site.xml 具有以下属性:

yarn.resourcemanager.hostname        = hadoop-master
yarn.nodemanager.aux-services        = mapreduce_shuffle
yarn.nodemanager.resource.memory-mb  = 6144
yarn.scheduler.minimum-allocation-mb = 2048
yarn.scheduler.maximum-allocation-mb = 6144

EDIT-2 @ ARNON:将yarn.scheduler.minimum-allocation-mb设置为4096会将所有地图任务置于暂停状态,并将其分配为3072次崩溃与下面的

Exception from container-launch: ExitCodeException exitCode=134: /bin/bash: line 1:  3876 Aborted  (core dumped) /usr/lib/jvm/java-7-openjdk-amd64/bin/java -Djava.net.preferIPv4Stack=true -Dhadoop.metrics.log.level=WARN -Xmx8192m -Djava.io.tmpdir=/tmp/hadoop-ubuntu/nm-local-dir/usercache/ubuntu/appcache/application_1424264025191_0002/container_1424264025191_0002_01_000011/tmp -Dlog4j.configuration=container-log4j.properties -Dyarn.app.container.log.dir=/home/ubuntu/hadoop/logs/userlogs/application_1424264025191_0002/container_1424264025191_0002_01_000011
-Dyarn.app.container.log.filesize=0 -Dhadoop.root.logger=INFO,CLA org.apache.hadoop.mapred.YarnChild 192.168.0.12 50842 attempt_1424264025191_0002_m_000005_0 11 > 
/home/ubuntu/hadoop/logs/userlogs/application_1424264025191_0002/container_1424264025191_0002_01_000011/stdout 2> 
/home/ubuntu/hadoop/logs/userlogs/application_1424264025191_0002/container_1424264025191_0002_01_000011/stderr

如何避免这种情况?感谢任何帮助

是否可以选择限制hadoop ndo上的容器数量?

1 个答案:

答案 0 :(得分:0)

看来你正在为你的任务分配太多内存(即使没有查看所有配置)8GB RAM和每个地图任务8GB,所有这些都是堆 尝试使用较低的分配2Gb与1GB堆或类似的东西