机器16core(32 超线程) 64G
yarn.nodemanager.resource.cpu-vcores=32
mapreduce.reduce.cpu.vcores=1
mapreduce.reduce.memory.mb=2G
mapreduce.map.cpu.vcores=1
mapreduce.map.memory.mb=1.5G
yarn.nodemanager.resource.memory-mb=30G
yarn.scheduler.minimum-allocation-mb=2G
yarn.scheduler.increment-allocation-mb=1G
每个node 15container 30G/1.5G(map)=20container 30G/2G(minimum-allocation-mb)=15container
就是每个node使用cpu 15/32
这个参数的mr作业按道理cpu使用的vcore不会超过一半,但是实际的cpu 使用达到100%
yarn对cpu的使用怎么控制让其不到100%?
yarn对于资源的调度主要是内存,对于cpu却不是很明显,一定要启用cgroup吗?
|