我正在运行一个由运行此脚本的shell操作组成的oozie工作流。
java -classpath my.jar my.package.Main
shell操作配置如下所示
<action name="run-test-script">
<shell xmlns="uri:oozie:shell-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<exec>run.sh</exec>
<file>${wf:conf("oozie.wf.application.path")}/run.sh</file>
</shell>
<ok to="end"/>
<error to="report_failure"/>
</action>
在yarn(cloudera mgr gui)中,我有以下设置
mapreduce.map.memory.mb=4GiB
当我运行它时,它失败了,在yarn中,我得到以下错误消息:
容器[pid=8340,containerid=container\u 1397556756420\u 5519\u 01\u000002]运行超出虚拟内存限制。当前使用量:使用327.6MB的4GB物理内存;使用了33.2 gb的8.4 gb虚拟内存。杀人容器。容器的进程树转储\u 1397556756420 \u 5519 \u 01 \u000002:|-pid ppid pgrpid sessid cmd \u name user \u mode \u time(millis)system \u time(millis)vmem \u usage(bytes)rssmem \u usage(pages)full \u cmd \u line |-8467 8466 8340 8340(java)21 2 34039132160 15889 java-classpath my-jar.jar my.package.main |-8466 8340 8340 8340(run.sh)0 108654592 304/bin/bash./run.sh |-8340 31401 8340 8340(java)396 21 1476808704 67682/usr/lib/jvm/default java/bin/java-djava.net.preferipv4stack=true-dhadoop.metrics.log.level=warn-xmx825955249-djava.io.tmpdir=/data24/yarn/nm/usercache/thomas.larsson/appcache/application_1397556756420_5519/container_1397556756420_5519_01_000002/tmp-dlog4j.configuration=container-log4j.properties-dyarn.app.mapreduce.container.log.dir=/var/log/hadoop-yarn/container/application\u 1397556756420\u 5519/container\u 1397556756420\u 5519\u 01\u000002-dyarn.app.mapreduce.container.log.filesize=0-dhadoop.root.logger=info,cla org.apache.hadoop.mapred.yarnchild 10.4.4.108 52668尝试\u 1397556756420 \u 5519 \u m \u000000 \u 0 2请求杀死的容器。出口代码是143
我的问题是,为什么这个任务要分配33.2GB的虚拟内存?
更新:抱歉,我忘了发布java类。。。
public class Main {
public static void main(String[] args) throws InterruptedException {
System.out.println("Running Main.");
Thread.sleep(1000*60);
System.out.println("Completed.");
}
}
2条答案
按热度按时间xqkwcwgp1#
您正在查看的map mb大小是不相关的,因为您没有启动map/reduce检查所有与内存相关的设置,这可能是因为您对容器的最小分配太高
to94eoyn2#
它失败了,因为你一定启用了vmem检查。它已经超过了虚拟内存的限制。
当前使用量:使用327.6MB的4GB物理内存;8.4 gb中的33.2 gb