haoop集群  做好内存管理跟重要,不然经常会给抛出个 OutMemory   ,内存溢出

以horntonworks给出推荐配置为样本,给出一种常见的Hadoop集群上各组件的内存分配方案。配置时通过 ambari对应修改,或者后台同步修改 。

【样本】

he final calculation is to determine the amount of RAM per container:

RAM-per-Container = maximum of (MIN_CONTAINER_SIZE, (Total Available RAM) / Containers))

With these calculations, the YARN and MapReduce configurations can be set:

Configuration File Configuration Setting Value Calculation
yarn-site.xml yarn.nodemanager.resource.memory-mb = Containers * RAM-per-Container
yarn-site.xml yarn.scheduler.minimum-allocation-mb = RAM-per-Container
yarn-site.xml yarn.scheduler.maximum-allocation-mb = containers * RAM-per-Container
mapred-site.xml mapreduce.map.memory.mb = RAM-per-Container
mapred-site.xml mapreduce.reduce.memory.mb = 2 * RAM-per-Container
mapred-site.xml mapreduce.map.java.opts = 0.8 * RAM-per-Container
mapred-site.xml mapreduce.reduce.java.opts = 0.8 * 2 * RAM-per-Container
yarn-site.xml (check) yarn.app.mapreduce.am.resource.mb = 2 * RAM-per-Container
yarn-site.xml (check) yarn.app.mapreduce.am.command-opts = 0.8 * 2 * RAM-per-Container

Note: After installation, both yarn-site.xml and mapred-site.xml are located in the /etc/hadoop/conf folder.

Configuration File Configuration Setting Value Calculation M
yarn-site.xml yarn.nodemanager.resource.memory-mb = Containers * RAM-per-Container(54G)
yarn-site.xml yarn.scheduler.minimum-allocation-mb = 2048
yarn-site.xml yarn.scheduler.maximum-allocation-mb = containers * RAM-per-Container (54G)
mapred-site.xml mapreduce.map.memory.mb = 2048
mapred-site.xml mapreduce.reduce.memory.mb = 4096
mapred-site.xml mapreduce.map.java.opts = 1638
mapred-site.xml mapreduce.reduce.java.opts = 3276
yarn-site.xml (check) yarn.app.mapreduce.am.resource.mb = 2048
yarn-site.xml (check) yarn.app.mapreduce.am.command-opts = 3276

【样例1】

Configuration File Configuration Setting Value Calculation
yarn-site.xml yarn.nodemanager.resource.memory-mb = Containers * RAM-per-Container
yarn-site.xml yarn.scheduler.minimum-allocation-mb = RAM-per-Container
yarn-site.xml yarn.scheduler.maximum-allocation-mb = containers * RAM-per-Container
mapred-site.xml mapreduce.map.memory.mb = RAM-per-Container
mapred-site.xml mapreduce.reduce.memory.mb = 2 * RAM-per-Container
mapred-site.xml mapreduce.map.java.opts = 0.8 * RAM-per-Container
mapred-site.xml mapreduce.reduce.java.opts = 0.8 * 2 * RAM-per-Container
yarn-site.xml (check) yarn.app.mapreduce.am.resource.mb = 2 * RAM-per-Container
yarn-site.xml (check) yarn.app.mapreduce.am.command-opts = 0.8 * 2 * RAM-per-Container

【样例2】

方案最右侧一栏是一个8G VM的分配方案,方案预留1-2G的内存给操作系统,分配4G给Yarn/MapReduce,当然也包括了HIVE,剩余的2-3G是在需要使用HBase时预留给HBase的。 参考:http://blog.csdn.net/bluishglc/article/details/42436321

【备注】

另外自己通过thrift链接时 ,留意自己加载时 重设配置,造成任务类似失败 <set mapreduce.map.java.opts=-Xmx1024m;>   当hive提交任务

eg:select count(*) from test; 没问题,但是  自己平台提交有问题 。仔细比对配置  例如搜索关键词 :memory ,opts

参考:http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.0.9.1/bk_installing_manually_book/content/rpm-chap1-11.html

bigdata_hadoop集群配置_内存分配的更多相关文章

  1. redis集群配置

    客户端分片 程序端实现 代理proxy,访问proxy,proxy指定redis保存位置. Twemproxy Redis cluster ,会造成一部分数据丢失,无中心化1.将数据自动切分(spli ...

  2. nginx+tomcat集群配置(1)---根目录设定和多后端分发配置

    前言: 对于javaer而言, nginx+tomcat集群配置, 已然成了web应用部署的主流. 大公司如此, 小公司亦然. 对于个人开发者而言, 资源有限, 往往多个web应用混部于一台服务器(云 ...

  3. ES2:ElasticSearch 集群配置

    ElasticSearch共有两个配置文件,都位于config目录下,分别是elasticsearch.yml和logging.yml,其中,elasticsearch.yml 用来配置Elastic ...

  4. 即时通信系统Openfire分析之七:集群配置

    前言 写这章之前,我犹豫了一会.在这个时候提集群,从章节安排上来讲,是否合适?但想到上一章<路由表>的相关内容,应该不至于太突兀.既然这样,那就撸起袖子干吧. Openfire的单机并发量 ...

  5. redis主从同步故障切换及集群配置

    一.redis是一中高性能的缓存数据库, 原理:1. 从服务器向主服务器发送 SYNC 命令.2. 接到 SYNC 命令的主服务器会调用BGSAVE 命令,创建一个 RDB 文件,并使用缓冲区记录接下 ...

  6. ElasticSearch入门 第二篇:集群配置

    这是ElasticSearch 2.4 版本系列的第二篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  7. Redis-5.0.0集群配置

    版本:redis-5.0.0 参考:http://redis.io/topics/cluster-tutorial. 集群部署交互式命令行工具:https://github.com/eyjian/re ...

  8. CentOS7.1.x+Druid 0.12 集群配置

    原文转载自:https://blog.csdn.net/bigtree_3721/article/details/79583008 先决条件:安装版本列表 本次安装满足下面的条件: CentOS v7 ...

  9. Centos6 安装 Redis 和集群配置

    Redis安装 先确认gcc和tcl已经安装 sudo yum install gcc-c++ sudo yum install tcl 解压, 编译和安装 .tar.gz /usr/src/ cd ...

随机推荐

  1. Android开发之Handler和Looper的关系

              关于Handler的总结. Message:消息,当中包括了消息ID,消息处理对象以及处理的数据等,由MessageQueue统一列队,终由Handler处理. Handler:处 ...

  2. python遗产

    1.    python类方法的定义: class Animal(): def __init__(self,name): self.name=name; def show(self): print s ...

  3. sql系列(基础)-第二章 限制和排序数据

    更好的看↑代码点击VIEW PLAN 第二章 约束和排序数据 1. 在 emp 表中选择工资介于 1500 到 2500 的员工的信息: 注意:使用 between 下边界 and 上边界时.条件包括 ...

  4. ExtJS学习-----------Ext.Number,ExtJS对javascript中的Number的扩展

    关于ExtJS对javascript中的Number的扩展,能够參考其帮助文档,文档下载地址:http://download.csdn.net/detail/z1137730824/7748893 以 ...

  5. bnu 34982 Beautiful Garden(暴力)

    题目链接:bnu 34982 Beautiful Garden 题目大意:给定一个长度为n的序列,问说最少移动多少点,使得序列成等差序列,点的位置能够为小数. 解题思路:算是纯暴力吧.枚举等差的起始和 ...

  6. 恢复SQLServer实例连接

    原文:恢复SQLServer实例连接 译自: http://www.mssqltips.com/sqlservertip/2682/recover-access-to-a-sql-server-ins ...

  7. 必须掌握的八个cmd命令

    原文:必须掌握的八个cmd命令 一.ping 它是用来检查网络是否通畅或者网络连接速度的命令.作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的 ...

  8. Codeforces Round #267 (Div. 2) A

    题目: A. George and Accommodation time limit per test 1 second memory limit per test 256 megabytes inp ...

  9. SAP ABAP 它已被释放TR(或任务),减少的变化TR(任务),删除释放TR(任务)

    有时,我们会遇到将是一个TR以下任务task发布,然后想改变,或不想转移TR. 或想删除已释放TR. 研究发现后面,TR(任务)存储在数据库表汇的相应数据:E070(变化 & 交通系统: 求/ ...

  10. HTTP工作原理

     HTTP工作过程 HTTP协议定义Webclient怎样从Webserver请求Web页面,以及server怎样把Web页面传送给client.HTTP协议採用了请求/响应模型. client向 ...