2.2 MapReduce任务提交资源使用配置

操作场景

yarn.nodemanager.resource.memory-mb,设置为NodeManger所在节点分配给任务使用的内存。

操作步骤

参数名 描述
mapreduce.map.java.opts客户端参数 map的jvms最大堆大小,当map阶段出现oom时调整此参数。此参数受到mapreduce.map.memory.mb的限制,一般为mapreduce.map.memory.mb的0.75倍。-Xmx2048M -Djava.net.preferIPv4Stack=true 说明:客户端参数 默认为4G,运行一个map的container分配的内存,当所需内存超出此大小时,container将被kill掉。用yarn.nodemanager.resource.memory-mb除以此参数得到的值可以认为在内存限制下一个nodemanager最多并行运行的map的container数量。配置的越小,系统能支撑的MAP数越多,但是要考虑map任务的内存限制。 mapreduce.map.memory.mb= mapreduce.map.java.opts 设置的堆内存+direct buffer+unsafe的内存+256MB。
mapreduce.reduce.java.opts客户端参数 -Xmx3276M -Djava.net.preferIPv4Stack=true reduce的子jvms最大堆大小。同map类似参数。
mapreduce.reduce.memory.mb客户端参数 默认为4G,需要大于reduce的jvms最大堆大小(mapreduce.reduce.java.opts)。同map类似参数。
yarn.app.mapreduce.am.command-opts客户端参数 传递到MapReduce ApplicationMaster的JVM启动参数。默认值-Xmx1024m .运行的一个大任务,map总数达到了10万的规模,最终超时失败。此任务的问题是,task数量变多时,AM管理的对象也线性增长,因此就需要更多的内存来管理。ApplicationMaster(以下简称AM)反应缓慢AM默认分配的内存堆大小是1GB。对于大集群建议设置为-Xmx4G。
yarn.app.mapreduce.am.resource.mb客户端参数 AM的container的设置大小,默认1536。单位M。需要比yarn.app.mapreduce.am.command-opts参数的-Xmx更大。对于大集群建议设置为5120。

results matching ""

    No results matching ""