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

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

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

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

<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value></value>
<description><![CDATA[CPU数量=服务器CPU总核数 / 每个CPU的核数;服务器CPU总核数 = more /proc/cpuinfo | grep 'processor' | wc -l;每个CPU的核数 = more /proc/cpui nfo | grep 'cpu cores']]></description>
</property>
<property>
<name>mapred.tasktracker.reduce.tasks.maximum</name>
<value></value>
<description>一个task tracker最多可以同时运行的reduce任务数量</description>
</property>

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

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

    <property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value></value>
<discription>每个节点可用内存,单位MB</discription>
</property> <property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value></value>
<discription>单个任务可申请最少内存,默认1024MB</discription>
</property> <property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value></value>
<discription>单个任务可申请最大内存,默认8192MB</discription>
</property>

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

而Mapreduce的任务的内存配置:

property>
<name>mapreduce.map.memory.mb</name>
<value></value>
<description>每个Map任务的物理内存限制</description>
</property> <property>
<name>mapreduce.reduce.memory.mb</name>
<value></value>
<description>每个Reduce任务的物理内存限制</description>
</property> <property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx1200m</value>
</property> <property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx2600m</value>
</property> mapreduce.map.memory.mb:每个map任务的内存,应该是大于或者等于Container的最小内存。 按照上面的配置:每个slave可以运行map的数据<= /,reduce任务的数量<=22528/3000

YARN内存使用优化配置的更多相关文章

  1. Yarn 内存分配管理机制及相关参数配置

    上一篇hive on tez 任务报错中提到了containter内存不足,现对yarn 内存分配管理进行介绍 一.相关配置情况 关于Yarn内存分配与管理,主要涉及到了ResourceManage. ...

  2. YARN的内存和CPU配置

    时间 2015-06-05 00:00:00  JavaChen's Blog 原文  http://blog.javachen.com/2015/06/05/yarn-memory-and-cpu- ...

  3. 转载-YARN的内存和CPU配置

    Hadoop YARN同时支持内存和CPU两种资源的调度,本文介绍如何配置YARN对内存和CPU的使用. YARN作为一个资源调度器,应该考虑到集群里面每一台机子的计算资源,然后根据applicati ...

  4. tomcat 的优化配置

    一.关于并发连接量的配置 在tomcat的server.xml配置文件中:将<Connector port="8080" protocol="HTTP/1.1&qu ...

  5. Linux下jvm、tomcat、mysql、log4j优化配置笔记

    小菜一直对操作系统心存畏惧,以前也很少接触,这次创业购买了Linux云主机,由于木有人帮忙,只能自己动手优化服务器了.... 小菜的云主机配置大致为:centeos6(32位),4核心cpu,4G内存 ...

  6. SDE+ORACLE优化配置

    原文 SDE+ORACLE优化配置 SDE的性能取决于: 首先操作系统的性能:其次是Oracle的性能,再次是SDE的性能. 第一:操作系统,无非是内存.CPU.带宽等. 可以有待提高的地方:第一.硬 ...

  7. android app性能优化大汇总(内存性能优化)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上 ...

  8. Linux下jvm、tomcat、mysql、log4j优化配置

    小菜一直对操作系统心存畏惧,以前也很少接触,这次创业购买了Linux云主机,由于木有人帮忙,只能自己动手优化服务器了.... 小菜的云主机配置大致为:centeos6(32位),4核心cpu,4G内存 ...

  9. mysql大内存高性能优化方案

    mysql优化是一个相对来说比较重要的事情了,特别像对mysql读写比较多的网站就显得非常重要了,下面我们来介绍mysql大内存高性能优化方案 8G内存下MySQL的优化 按照下面的设置试试看:key ...

随机推荐

  1. AngularJs在单击提交后显示验证信息.

    <!DOCTYPE html> <html ng-app="app"> <head> <meta charset="utf-8& ...

  2. Goldengate trial队列维护

    查看进程信息: Info replicat_name $Info replicat_name showch 注:   可以查看到详细的关于checkpoint的信息,用于查看GoldenGate进程处 ...

  3. Mysql中的count()与sum()区别

    首先创建个表说明问题 CREATE TABLE `result` ( `name` varchar(20) default NULL, `subject` varchar(20) default NU ...

  4. Qt下QWizard改变next,back等默认按钮的大小及背景

    默认的按钮又小又丑,想改大点漂亮点. 百度没百出来,最后用google 在这里: http://stackoverflow.com/questions/16425575/change-qwizard- ...

  5. oracle 监听动态和静态的配置

    [oracle@oracledb1 admin]$ vi listener.ora # listener.ora Network Configuration File: /u01/app/oracle ...

  6. python学习笔记(MD5算法)

    博主最近进度停滞了 对web开发理解欠缺好多内容 今天整理下MD5算法,这个涉及到mysql数据库存储用户表密码字段的时候 一般是带有加密的 # -*- coding: utf-8 -*- impor ...

  7. bootstrap风格的multiselect插件——类似邮箱收件人样式

    在开发颗粒云邮箱的过程中,遇到了一个前端的问题,就是邮箱收件人的那个multiselect的input输入框.不仅能够多选,还要能够支持ajax搜索,把联系人搜索出来.就是类似下面的这个东西: 网上找 ...

  8. 仿qq空间相册的图片批量上传

    效果: 转载请注明:http://www.cnblogs.com/TheViper/ 主要是flash组件的tilelist,这个很有用.还有对flash组件源码的一点修改hack. 还是代码很简单, ...

  9. SDUT 3344 数据结构实验之二叉树五:层序遍历

    数据结构实验之二叉树五:层序遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 已知一个按 ...

  10. 华为OJ平台——查找组成一个偶数最接近的两个素数

    import java.util.Scanner; /** * 问题描述:任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况, * 本题目要求输出组成指定偶数的两个素数差值最小 ...