【发布时间】:2015-02-18 14:54:29
【问题描述】:
我的 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 ndoes上容器数量的选项?
【问题讨论】:
标签: hadoop mapreduce hadoop-yarn