前言:hadoop2.x版本和hadoop1.x版本的一个区别就是:hadoop1.x中负责资源和作业调度的是MapReduce,hadoop2.x版本后,MapReduce只专注于计算,资源和作业的调度由YARN来负责。Container是YARN里面资源分配的基本单位,具有一定的内存以及CPU资源。我们的应用在工作的时候,需要消耗内存和CPU,故当YARN收到application申请,则会根据application申请的资源,分配Container。
在YARN的NodeManager节点上,会将机器的CPU和内存的一定值抽离出来,抽离成虚拟的值,然后这些虚拟的值在根据配置组成多个Container,当application提出申请时,就会分配相应的Container资源。关于默认值我们可以查看官网,如下表所示。
参数 | 默认值 |
yarn.nodemanager.resource.memory-mb |
-1 |
yarn.nodemanager.resou |