千家信息网

YARN和MapReduce的内存优化怎么配置

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇内容主要讲解"YARN和MapReduce的内存优化怎么配置",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"YARN和MapReduce的内存优化怎么配
千家信息网最后更新 2026年10月31日YARN和MapReduce的内存优化怎么配置

本篇内容主要讲解"YARN和MapReduce的内存优化怎么配置",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"YARN和MapReduce的内存优化怎么配置"吧!

在Hadoop2.x中, YARN负责管理MapReduce中的资源(内存, CPU等)并且将其打包成Container。
使之专注于其擅长的数据处理任务, 将无需考虑资源调度. 如下图所示

YARN会管理集群中所有机器的可用计算资源. 基于这些资源YARN会调度应用(比如MapReduce)发来的资源请求, 然后YARN会通过分配Co
ntainer来给每个应用提供处理能力, Container是YARN中处理能力的基本单元, 是对内存, CPU等的封装.


目前我这里的服务器情况:6台slave,每台:32G内存,2*6核CPU。

由于hadoop 1.x存在JobTracker和TaskTracker,资源管理有它们实现,在执行mapreduce作业时,资源分为map task和reduce task。
所有存在下面两个参数分别设置每个TaskTracker可以运行的任务数:


  • mapred.tasktracker.map.tasks.maximum

  • 6




  • mapred.tasktracker.reduce.tasks.maximum

  • 4

  • 一个task tracker最多可以同时运行的reduce任务数量

但是在hadoop 2.x中,引入了Yarn架构做资源管理,在每个节点上面运行NodeManager负责节点资源的分配,而slot也不再像1.x那样区分Map slot和Reduce slot。在Yarn上面Container是资源的分配的最小单元。

Yarn集群的内存分配配置在yarn-site.xml文件中配置:


  • yarn.nodemanager.resource.memory-mb

  • 22528

  • 每个节点可用内存,单位MB




  • yarn.scheduler.minimum-allocation-mb

  • 1500

  • 单个任务可申请最少内存,默认1024MB




  • yarn.scheduler.maximum-allocation-mb

  • 16384

  • 单个任务可申请最大内存,默认8192MB


由于我Yarn集群还需要跑Spark的任务,而Spark的Worker内存相对需要大些,所以需要调大单个任务的最大内存(默认为8G)。

而Mapreduce的任务的内存配置:


  • mapreduce.map.memory.mb

  • 1500

  • 每个Map任务的物理内存限制




  • mapreduce.reduce.memory.mb

  • 3000

  • 每个Reduce任务的物理内存限制




  • mapreduce.map.java.opts

  • -Xmx1200m




  • mapreduce.reduce.java.opts

  • -Xmx2600m


mapreduce.map.memory.mb:每个map任务的内存,应该是大于或者等于Container的最小内存。
按照上面的配置:每个slave可以运行map的数据<= 22528/1500,reduce任务的数量<=22528/3000 。

mapreduce.map.memory.mb >mapreduce.map.java.opts
mapreduce.reduce.memory.mb >mapreduce.reduce.java.opts


mapreduce.map.java.opts / mapreduce.map.memory.mb
=0.70~0.80
mapreduce.reduce.java.opts / mapreduce.reduce.memory.mb
=0.70~0.80

在yarn container这种模式下,JVM进程跑在container中,mapreduce.{map|reduce}.java.opts 能够通过Xmx设置JVM最大的heap的使用,
一般设置为0.75倍的memory.mb,

则预留些空间会存储java,scala code等。

到此,相信大家对"YARN和MapReduce的内存优化怎么配置"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

内存 任务 资源 配置 分配 管理 运行 最大 单个 节点 集群 处理 最小 内容 单元 数据 数量 物理 能力 资源管理 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网加科技 河南云网互联网络科技有限公司 为想互联网科技怎么样 互联网科技有限公司经营范围 互联网科技的发展 狮子座互联网科技 互联网科技英文 九亚互联网科技 互联网科技公司有哪些 须眉科技是互联网公司吗 成都铂石互联网科技做什么的 青岛科技大学互联网大赛研究生 河南住房之家互联网科技 华夏恒生科技与互联网科技 世界互联网领先科技成果获奖 神州科技互联网有限公司 广州梦谷互联网科技有限公司领导 互联网界的黑科技 互联网科技博主张洲 广东猫王互联网科技有限公司电话 智网互联网科技 常德市电业局互联网科技部 顶级互联网科技成果有哪些 来此购互联网科技有限公司 皮皮虾互联网科技有限公司 互联网科技包装股 长沙渺峰互联网科技有限公司 西安左小互联网科技有限公司 平安好医生打造互联网科技医疗 广州全民伙伴互联网科技有限公司
0