推荐:博主历时三年倾注大量心血创作的《大数据平台架构与原型实现:数据中台建设实战》一书已由知名IT图书品牌电子工业出版社博文视点出版发行,真诚推荐给每一位读者!点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,扫码进入京东手机购书页面!
以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 |