Hadoop的内存配置

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文件中参数的值。

相关推荐