Impala 进程需要16g内存,HBase Region Server process需要12-16GB RAM,operating system需要6.4GB内存,yarn.nodemanager.resource.memory-mb默认8g,每个节点配置可以不同。每个磁盘和每个cpu核分配一到两个containers是好主意,例如一个节点有12个磁盘和12个cpu核。所以分配20个containers。yarn.scheduler.minimum-allocation-mb如何设置,一般而言如果一个节点可供YARN 使用的内存小于24GB,此值设置为1gb,如果超过24gb,则此值设置为2gb,jvm堆的最大大小-Xmx通常设置在容器的百分之75左右,容器的三分之二或者四分之三,剩余的用作栈、永久区等等使用。yarn.nodemanager.vmem-pmem-ratio配置虚拟内存比例
ApplicationMaster container的内存在小数据量的时候设置1到2gb,大数据量的时候应该设置更高yarn.app.mapreduce.am.resource.mb,yarn.app.mapreduce.am.command-opts。当报内存不够的异常时,内存每次增加百分之10到百分之20左右进行实验直到可以运行,别分配太多,不然容器太少运行的map和reduce容器会变少
mapreduce.task.io.sort.mb设置成a quarter or half of the map/reduce Java heap size.此值是堆的一部分
mapreduce.task.io.sort.factor设置成mapreduce.task.io.sort.mb值的百分之十
Ideally, the map intermediate records should be spilt to disk just one time. If the spill is occurring more than once。Spilled Records和 Map Record Outputs指示写到磁盘次数,值一样说明只写到磁盘一次,在日志中也可以观测到写次数
mapreduce.map.sort.spill.percent默认值百分之八十已经很高了,一般不怎么调节
mapreduce优化
最新推荐文章于 2021-11-04 14:33:19 发布