组件参数配置
对于参数的修改,Ambari基本都是在集群的网页上面修改即可,以Yarn组件为例,单击右边需要更改参数的组件Yarn,参数修改都是在对应组件的CONFIGS里面。修改配置的地方对应的就是在SETTING以及ADVANCED中,如下图所示。
当要修改具体的参数的时候,主要分两种情况,第一种对于参数原本就在网页设置了初始值的,只需要在CONFIGS页面的搜索栏直接搜索、修改即可,例如修改Yarn中的yarn.nodemanager.resource.cpu-vcores,只需要在搜索框搜索“yarn.nodemanager.resource.cpu-vcores”,单击修改按钮,设置对应的参数即可。
第二种对于原本页面上没有设置初始值的参数,例如yarn.nodemanager.numa-awareness.enabled这一参数,就需要在对应组件的Custom yarn-site中手动添加(其余组件需要手动添加的也是在对应的Custom ***-site文件中)。
如下参数为本次测试所配置参数,x86计算平台和鲲鹏920计算平台参数仅有Yarn部分参数有差异(差异处表格中有体现),HBase和HDFS采用同一套参数进行测试。
组件 |
参数名 |
推荐值 |
修改原因 |
---|---|---|---|
Yarn->NodeManager Yarn->ResourceManager |
ResourceManager Java heap size |
1024 |
修改JVM内存大小,保证内存水平较高,减少GC的频率。 |
NodeManager Java heap size |
1024 |
||
Yarn->NodeManager |
yarn.nodemanager.resource.cpu-vcores |
与实际数据节点物理核相等。 |
可分配给Container的CPU核数。 |
Yarn->NodeManager |
yarn.nodemanager.resource.memory-mb |
与实际数据节点物理内存总量相等。 |
可分配给Container的内存。 |
Yarn->NodeManager |
yarn.nodemanager.numa-awareness.enabled |
true |
NodeManager启动Container时的NUMA感知,需手动添加。 |
Yarn->NodeManager |
yarn.nodemanager.numa-awareness.read-topology |
true |
NodeManager的NUMA拓扑自动感知,需手动添加。 |
MapReduce2 |
mapreduce.map.memory.mb |
7168 |
一个Map Task可使用的内存上限。 |
MapReduce2 |
mapreduce.reduce.memory.mb |
14336 |
一个Reduce Task可使用的资源上限。 |
MapReduce2 |
mapreduce.job.reduce.slowstart.completedmaps |
0.35 |
当Map完成的比例达到该值后才会为Reduce申请资源。 |
HDFS->NameNode |
NameNode Java heap size |
3072 |
修改JVM内存大小,保证内存水平较高,减少GC的频率。 |
NameNode new generation size |
384 |
||
NameNode maximum new generation size |
384 |
||
HDFS->DataNode |
dfs.datanode.handler.count |
512 |
DataNode服务线程数,可适量增加。 |
HDFS->NameNode |
dfs.namenode.service.handler.count |
128 |
NameNode RPC服务端监测DataNode和其他请求的线程数,可适量增加。 |
HDFS->NameNode |
dfs.namenode.handler.count |
1200 |
NameNode RPC服务端监测客户端请求的线程数,可适量增加。 |
HBase->RegionServer |
HBase RegionServer Maximum Memory |
31744 |
修改JVM内存大小,保证内存水平较高,减少GC的频率。 |
HBase->RegionServer |
hbase.regionserver.handler.count |
150 |
RegionServer上的RPC服务器实例数量。 |
HBase->RegionServer |
hbase.regionserver.metahandler.count |
150 |
RegionServer中处理优先请求的程序实例的数量。 |
HBase->RegionServer |
hbase.regionserver.global.memstore.size |
0.4 |
最大JVM堆大小(Java -Xmx设置)分配给MemStore的比例。 |
HBase->RegionServer |
hfile.block.cache.size |
0.4 |
数据缓存所占的RegionServer GC -Xmx百分比。 |
HBase->RegionServer |
hbase.hregion.memstore.flush.size |
267386880 |
Regionserver memstore大小,增大可以减小阻塞。 |