生产环境调优YARN Container参数

Container

Container是nodemanager虚拟出来的容器,用来运行task任务的,调优维度是memory+vcore
如何优化Container参数??假设128G,16个物理core的服务器

生产环境调优YARN Container参数

  1. 装完Centos,消耗内存1G
  2. 系统预留15%-20%内存(大概26G,其中包含Centos系统占用的1G内存),用来防止全部使用导致系统夯住和oom机制,或者给未来部署组件预留点空间
  3. 假设该服务器上只有DataNode,NodeManager节点,余下内存128G-26G=102G
    DataNode大概分配2G,NodeManager分配4G,剩余102G-2G-4G=96G
    Container内存分配:
    极限情况下服务器剩下的内存全部分给nodemanager:96G,配置参数
    yarn.nodemanager.resource.memory-mb=96G
    最大分配内存和最小分配内存
    yarn.scheduler.maximum-allocation-mb=96G,极限情况下,只有1个container,内存96G
    yarn.scheduler.minimum-allocation-mb=1G,极限情况下,只有96个container,每个内存1G
    其中contanier的内存会自动增加,默认是1G的递增,contanier的数量是1-96个
    Contanier虚拟核: 默认服务器物理核和虚拟核的比例是1:2,也就是32虚拟核32vcor