配置MapReduce内存

本文详细介绍了如何监控和配置Yarn中的Container内存使用,以及如何为MapReduce作业设定内存限制。通过调整Yarn配置参数如yarn.nodemanager.container-monitor.interval-ms和yarn.nodemanager.vmem-check-enabled,可以监控并控制物理内存和虚拟内存的使用。同时,通过在map-site.xml中设置mapreduce.map.memory.mb和mapreduce.reduce.memory.mb,以及mapreduce.map.java.opts和mapreduce.reduce.java.opts,可以设定Map和Reduce任务的内存及JVM堆大小。
摘要由CSDN通过智能技术生成

1. Container内存使用的监控

       NodeManager作为Yarn运行中的一个守护进程,其中一个职责是监控运行在节点上的container,通常包含每个容器的内存使用。

        为监控容器的内存使用情况,在Yarn的配置文件yarn-site.xml中配置yarn.nodemanager.container-monitor.interval-ms属性遍历当前正在运行的容器,计算进程树(process tree,即每个容器中所有的子进程),对于每个进程检查/proc/<pid>/stat文件(其中pid为容器的进程ID),抽取出物理内存(又称RSS)和虚拟内存(又称VSZ或VSIZE)。

        配置yarn-nodemanager.vmem-check-enabled控制虚拟检查是否要求打开,然后Yarn将抽取出来的容器及其子进程的VSIZE加起来和容器最大允许使用的虚拟内存进行比较。最大允许使用的虚拟内存是容器最大可使用的物理内存×yarn.nodemanager.vmem-pmem-ratio(默认值为2.1).所以,如果Yarn容器配置的最大可用物理内存为2GB,然后乘以2.1即为容器最大可用的虚拟内存4.2G。

       配置yarn.nodemanager.pmem-check-enabled属性控制物理内存检查是否被打开,然后Yarn将抽取出来的容器及其子进程的加起来和容器最大允许使用的物理内存进行比较。

        如果物理内存或者虚拟内存其中一个使用大于最大允许使用情况,Yarn会将kill该容器。并在日志打印以下日志:

Applic

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值