Hadoop的内存配置有两种方法:利用手动安装hadoop的帮助脚本;手动计算yarn和mapreduce内存大小进行配置.此处只记录脚本计算方法:
用wget命令从hortonworks上下载脚本
python hdp-configuration-utils.py <options>
wget http://public-repo-1.hortonworks.com/HDP/tools/2.1.1.0/hdp_manual_install_rpm_helper_files-2.1.1.385.tar.gz
解压文件,运行hdp-configuration-utils.py脚本,执行以下命令
参数主要有以下几个:
Option | Description |
---|---|
-c CORES | The number of cores on each host. |
-m MEMORY | The amount of memory on each host in GB. |
-d DISKS | Thenumber of disks on each host. |
-k HBASE | "True"if HBase is installed, "False" if not. |
其中:Core的数量可以通过nproc命令计算;内存大小可以通过free –m命令来计算;磁盘的数量可以同过lsblk –s或sudo fdisk –l命令来查看。
python hdp-configuration-utils.py -c 24 -m 16 -d 8 -k False
计算好每个选项需要的值,运行命令。例如:
将返回如下结果:
Using cores=24 memory=16GB disks=8 hbase=False Profile: cores=24 memory=14336MB reserved=2GB usableMem=14GB disks=8 Num Container=14 Container Ram=1024MB Used Ram=14GB Unused Ram=2GB yarn.scheduler.minimum-allocation-mb=1024 yarn.scheduler.maximum-allocation-mb=14336 yarn.nodemanager.resource.memory-mb=14336 mapreduce.map.memory.mb=1024 mapreduce.map.java.opts=-Xmx768m mapreduce.reduce.memory.mb=2048 mapreduce.reduce.java.opts=-Xmx1536m yarn.app.mapreduce.am.resource.mb=1024 yarn.app.mapreduce.am.command-opts=-Xmx768m mapreduce.task.io.sort.mb=384 tez.am.resource.memory.mb=2048 tez.am.java.opts=-Xmx1536m hive.tez.container.size=1024 hive.tez.java.opts=-Xmx768m hive.auto.convert.join.noconditionaltask.size=134217000
最后可以参考以上结果来配置mapred-site.xml和yarn-site.xml文件中参数的值。