[原]Hadoop/Yarn/MapReduce内存分配(配置)方案
标签:
| 发表时间:2015-01-06 16:30 | 作者:bluishglc
出处:http://blog.csdn.net/bluishglc
以horntonworks给出推荐配置为蓝本,给出一种常见的Hadoop集群上各组件的内存分配方案。方案最右侧一栏是一个8G VM的分配方案,方案预留1-2G的内存给操作系统,分配4G给Yarn/MapReduce,当然也包括了HIVE,剩余的2-3G是在需要使用HBase时预留给HBase的。
Configuration File | Configuration Setting | Value Calculation | 8G VM (4G For MR) |
yarn-site.xml | yarn.nodemanager.resource.memory-mb | = containers * RAM-per-container | 4096 |
yarn-site.xml | yarn.scheduler.minimum-allocation-mb | = RAM-per-container | 1024 |
yarn-site.xml | yarn.scheduler.maximum-allocation-mb | = containers * RAM-per-container | 4096 |
mapred-site.xml | mapreduce.map.memory.mb | = RAM-per-container | 1024 |
mapred-site.xml | mapreduce.reduce.memory.mb | = 2 * RAM-per-container | 2048 |
mapred-site.xml | mapreduce.map.java.opts | = 0.8 * RAM-per-container | 819 |
mapred-site.xml | mapreduce.reduce.java.opts | = 0.8 * 2 * RAM-per-container | 1638 |
yarn-site.xml (check) | yarn.app.mapreduce.am.resource.mb | = 2 * RAM-per-container | 2048 |
yarn-site.xml (check) | yarn.app.mapreduce.am.command-opts | = 0.8 * 2 * RAM-per-container | 1638 |
tez-site.xml
| tez.am.resource.memory.mb
| = RAM-per-container
| 1024
|
tez-site.xml
| tez.am.java.opts
| = 0.8 * RAM-per-container
| 819 |
tez-site.xml
| hive.tez.container.size
| = RAM-per-container
| 1024 |
tez-site.xml
| hive.tez.java.opts
| = 0.8 * RAM-per-container
| 819 |
作者:bluishglc 发表于2015-1-6 8:30:20
原文链接
相关 [hadoop yarn mapreduce] 推荐:
- - Laurence的技术博客
以horntonworks给出推荐配置为蓝本,给出一种常见的Hadoop集群上各组件的内存分配方案. 方案最右侧一栏是一个8G VM的分配方案,方案预留1-2G的内存给操作系统,分配4G给Yarn/MapReduce,当然也包括了HIVE,剩余的2-3G是在需要使用HBase时预留给HBase的. 作者:bluishglc 发表于2015-1-6 8:30:20 原文链接.
- - 简单文本
我在使用Hadoop编写MapReduce程序时,遇到了一些问题,通过在Google上查询资料,并结合自己对Hadoop的理解,逐一解决了这些问题. Hadoop对MapReduce中Key与Value的类型是有要求的,简单说来,这些类型必须支持Hadoop的序列化. 为了提高序列化的性能,Hadoop还为Java中常见的基本类型提供了相应地支持序列化的类型,如IntWritable,LongWritable,并为String类型提供了Text类型.
- Jia - NoSQLFan
本文来自Hadoop Summit大会的一个演讲稿,主讲是Hadoop核心开发团队的Arun C Murthy (@acmurthy),同时他也是Yahoo!刚刚剥离的Hadoop独立公司Hortonworks的 Founder和架构师. 演讲中他讲述了现在的Hadoop存在的一些问题和集群上限,并展望了下一代Hadoop和其MapReduce将会得到的巨大提升.
- - 董的博客
Dong | 新浪微博: 西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明. 网址: http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-install/. 本文主要介绍了在实验环境下,能使YARN(以CDH4为例,Apache版本安装方法类似)正常工作的最简单的配置部署方法.
- - ITeye博客
此分享是关于hadoop生态系统的简单介绍包括起源到相对应用. Hadoop和HBase.pdf (2.1 MB). 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.
- - ITeye博客
通常情况下,我们需要用小数据集来单元测试我们写好的map函数和reduce函数. 而一般我们可以使用Mockito框架来模拟OutputCollector对象(Hadoop版本号小于0.20.0)和Context对象(大于等于0.20.0). 下面是一个简单的WordCount例子:(使用的是新API).
- - 互联网 - ITeye博客
•combine函数把一个map函数产生的对(多个key, value)合并成一个新的. 将新的作为输入到reduce函数中,其格式与reduce函数相同. •这样可以有效的较少中间结果,减少网络传输负荷. •什么情况下可以使用Combiner.
- -
对于一个大数据的分析应用,join是必不可少的一项功能.现在很多构建与hadoop之上的应用,如Hive,PIG等在其内部实现了join程序,可以通过很简单的sql语句或者数据操控脚本完成相应的Join工作.那么join应该如何实现呢?今天我们就对join做一个简单的实现. 我们来看一个例子,现在有两组数据:一组为单位人员信息,如下:.
- - CSDN博客云计算推荐文章
当MapReduce模型中,reduce执行的任务为统计分类类型的值总量或去重后的数量,或最大值最小值时,可以考虑在Map输出后进行combine操作;这样可以减少网络传输带来的开销,同时减轻了reduce任务的负担. Combine操作是运行在每个节点上的,只会影响本地Map的输出结果;Combine的输入为本地map的输出结果(一般是数据在溢出到磁盘之前,可以减少IO开销),其输出则作为reduce的输入.
- - CSDN博客系统运维推荐文章
在MapReduce执行过程中,特别是Shuffle阶段,尽量使用内存缓冲区存储数据,减少磁盘溢写次数;同时在作业执行过程中增加并行度,都能够显著提高系统性能,这也是配置优化的一个重要依据. 下面分别介绍I/O属性和MapReduce属性这两个类的部分属性,并指明其优化方向.