Yarn 容器 lauch 失败异常和 mapred-site.xml 配置
Posted
技术标签:
【中文标题】Yarn 容器 lauch 失败异常和 mapred-site.xml 配置【英文标题】:Yarn container lauch failed exception and mapred-site.xml configuration 【发布时间】: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上容器数量的选项?
【问题讨论】:
【参考方案1】:似乎您为任务分配了太多内存(即使没有查看所有配置)每个映射任务 8GB RAM 和 8GB,所有这些都是堆 尝试使用较低的分配 2Gb 和 1GB 堆或类似的东西
【讨论】:
谢谢。更新参数如下:..... mapred.child.java.opts = -Xmx2048m mapreduce.map.memory.mb = 4096 mapreduce.map.java.opts = -Xmx2048m , MapReduce 在 0% 处崩溃...........来自容器启动的异常:ExitCodeException exitCode=134: /bin/bash: line 1: 10390 Aborted (core dumped) / usr/lib/jvm/java-7-openjdk-amd64/bin/java -Djava.net.preferIPv4Stack=true -Dhadoop.metrics.log.level=WARN -Xmx2048m -Djava.io.tmpdir=/tmp/hadoop-ubuntu /nm-local- 谢谢。更新参数如下: ..... mapred.child.java.opts = -Xmx2048m mapreduce.map.memory.mb = 4096 mapreduce.map.java.opts = -Xmx2048m 当你使用 YARN 时,还有更多的参数需要设置——例如docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.0.6.0/… 编辑了我上面的问题,仍然有问题,请参阅 EDIT-1 & EDIT-2以上是关于Yarn 容器 lauch 失败异常和 mapred-site.xml 配置的主要内容,如果未能解决你的问题,请参考以下文章
Apache Hadoop YARN 中的“mapreduce.map.memory.mb”和“mapred.map.child.java.opts”之间有啥关系?