360SDN.COM

首页/Hadoop/列表

Hadoop2.5.2 Yarn内存配置(yarn-site.xml, mapred-site.xml

来源:  2016-04-23 18:28:51    评论:0点击:

来源:http://blog.csdn.net/redtommy/article/details/49102431
Hadoop2.5.2 Yarn内存相关配置

主机内存与单个任务最小内存对照表(推荐值)

主机内存 单个任务最小内存(MIN_CONTAINER_SIZE)
低于4GB 256 MB
4GB~8GB 512 MB
8GB~24GB 1024 MB
24GB以上 2048 MB

计算变量说明:

  • MIN_CONTAINER_SIZE 单个任务最小内存大小
  • Containers
    Containers = MIN( MIN_CONTAINER_SIZE*CPU核数, 1.8 * CPU核数, (可用的内存数)/MIN_CONTAINER_SIZE)
  • RAM-per-Container
    RAM-per-Container = MAX( MIN_CONTAINER_SIZE, (可用内存) / Containers))

配置文件 yarn-site.xml

配置名 说明 常用计算方式
yarn.nodemanager.resource.memory-mb 单个yarn节点所在物理主机的可用物理内存总量,默认8192 Containers * RAM-per-Container
yarn.scheduler.minimum-allocation-mb 单个任务可申请最少内存 RAM-per-Container
yarn.scheduler.maximum-allocation-mb 单个任务可申请最大内存 containers * RAM-per-Container

配置文件 mapred-site.xml

配置名 说明 常用计算方式
mapreduce.map.memory.mb 单个map任务可以申请的内存资源数量 RAM-per-Container
mapreduce.reduce.memory.mb 单个reduce任务可以申请的内存资源数量 2 * RAM-per-Container
mapreduce.map.java.opts map任务 JVM -Xmx参数 0.8 * RAM-per-Container
mapreduce.reduce.java.opts reduce任务 JVM -Xmx参数 0.8 * 2 * RAM-per-Container

示例

可以使用HORTONWORKS工具计算
  python yarn-utils.py -c 4 -m 16 -d 2 -k True
  • -c CORES CPU核数
  • -m MEMORY 内存GB
  • -d DISKS 磁盘数
  • -k HBASE 是否安装HBase(True 安装;False 未安装)
    注:主机内存大但CPU核少时hortonworks提供的工具把yarn.scheduler.minimum-allocation-mb算的太大时,建议值配2048

yarn-site.xml配置


 <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>12288</value>
    </property>
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>3072</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>12288</value>
    </property>


mapred-site.xml配置


  <property>
        <name>mapreduce.map.memory.mb</name>
        <value>3072</value>
        <description>每个MapReduce作业的map任务可以申请的内存资源数量. default 1024M</description>
    </property>
    <property>
        <name>mapreduce.reduce.memory.mb</name>
        <value>3072</value>
        <description>每个MapReduce作业的reduce任务可以申请的内存资源数量.</description>
    </property>
    <property>
        <name>mapreduce.map.java.opts</name>
        <value>-Xmx2457m -XX:PermSize=128M -XX:MaxPermSize=256M</value>
    </property>
    <property>
        <name>mapreduce.reduce.java.opts</name>
        <value>-Xmx2457M -XX:PermSize=128M -XX:MaxPermSize=256M</value>
        <description>hive发起的mapreduce要增大持久代大小</description>
    </property>

测试YARN


  cd $HADOOP_HOME/share/hadoop/mapreduce
    hadoop jar hadoop-mapreduce-examples-2.5.2.jar pi 20 10

指定使用队列配置

 hadoop  jar hadoop-mapreduce-examples-2.5.2.jar pi \ 
    -D mapreduce.job.queuename=root.default.mr-search \
    -D mapreduce.map.memory.mb=2048 \
    -D mapreduce.map.java.opts="-Xmx2500m -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps" \
    20 10

MapReduce 常用参数:

参数名 描述
mapreduce.job.queuename 运行job的yarn队列名称(叶节点队列
mapreduce.map.memory.mb map任务内存配置
mapreduce.reduce.java.opts map任务JVM参数配置
mapreduce.map.memory.mb reduce任务内存配置
mapreduce.reduce.java.opts reduce任务JVM参数配置
mapreduce.task.timeout (缺省600,000毫秒任务超时,如果有访问数据库等耗时较长的任务需要修改此值)



 
	  	
为您推荐

友情链接 |九搜汽车网 |手机ok生活信息网|ok生活信息网|ok微生活
 Powered by www.360SDN.COM   京ICP备11022651号-4 © 2012-2016 版权