1、dfs.namenode.handler.count=20*log2(clusterSize)
比如集群为8台,参数设置为60
Namenode有一个工作线程池,用来处理不同DataNode的并发心跳以及客户端并发的元数据操作。
dfs.namenode.handler.count默认值为10
配置文件:hdfs-site.xml
2、yarn.nodemanager.resource.memory-mb(默认8G)
节点上yarn可以使用的物理内存总量
3、yarn.scheduler.maximum-allocation-mb(默认8G)
单个任务可申请的最多物理内存
案例:
集群有7台机器,数据统计主要使用HiveSql,没有数据倾斜,小文件做了合并,开启了JVM重用,没有IO阻塞,内存量使用不到50%,任务跑到很慢,当数据洪峰来临整个集群会宕机。
基于案例的现象,适当把2和3的参数调大点