Hadoop 3.0: YARN Resource自定义资源配置说明

 

yarn支持可扩展资源类型 所有节点、应用程序、队列,默认情况下Yarn使用 CPU和内存。资源定义可以扩展为任意的“countable”资源。一个countable 资源,container运行的时候,将会被暂用,完毕后将会释放。

问题导读

  1. yarn默认情况下使用哪些资源?
  2. Yarn如何实现扩展自定义资源?
  3. 自定义资源,可以在哪个配置文件中配置?
  4. 哪些配置可以在yarn-site.xml文件或则 resource-types.xml文件配置?
  5. yarn有哪三种Containers?
  6. 三种Container如何配置请求的CPU,memory等值?

1.概述

yarn支持可扩展资源类型.所有节点、应用程序、队列,默认情况下Yarn使用 CPU和内存。资源定义可以扩展为任意的“countable”资源。一个countable 资源,container运行的时候,将会被暂用,完毕后将会释放。CPU 和(内存)memory都是 countable 资源。其它例子:包括GPU 资源和软件licenses。

Hadoop 3.0: YARN Resource自定义资源配置说明

2.配置

支持下面属性,详细如下:

resource-types.xml

\

node--resources.xml

\

3.yarn资源模型

Resource Manager

resource manager【资源管理器】是tracke集群中哪些资源的最终仲裁者。它从XML配置文件加载定义资源。。例如定义新增加的CPU 和memory,下面属性应该被配置

\

有效的资源名称必须以字母开头,并且只能包含字母,数字和“。”,“_”或“ - ”中的任何一个。有效的资源名称也可以选择在名称空间后加一个斜杠。一个有效的名字空间由句点分隔的字母,数字和破折号组成。 例如,以下是有效的资源名称:

  • myresource
  • my_resource
  • My-Resource01
  • com.acme/myresource

以下是无效资源名的示例:

  • 10myresource【字母开头】
  • my resource【含有空格】
  • com/acme/myresource【没有命名空间】
  • $NS/myresource【字母开头】
  • -none-/myresource【字母开头】

以上个人标注上了错误的比较明显的原因。大家也可以找找其它方面的错误。

对于定义的每个新的资源类型,可以添加可选的单元属性来设置资源类型的默认单位。 有效值是:

\

属性必须命名为yarn.resource-types..units。每个定义的资源也可以具有可选的最小和最大属性。属性必须命名为: yarn.resource-types..minimum 和yarn.resource-types..maximum.

yarn.resource-types属性和任何的unit, mimimum, 或则maximum属性,可以定义在yarn-site.xml文件或则 resource-types.xml文件。例如,以下内容可能出现在任一文件中:

\

Node Manager

每个Node Manager独立定义该节点可用的资源。资源定义通过设置每个可用资源属性来完成。属性必须命名为 yarn.nodemanager.resource-type.或则放到 yarn-site.xml文件或则 node-resources.xml文件。该属性的值应该是该node提供的资源量。例子

\

请注意,用于这些资源的单位不需要与资源管理器【resource manager】所持有的定义相匹配。 如果单元不匹配,资源管理器将自动进行转换。

MapReduce使用资源

mapreduce从yarn请求三种不同类型的容器:application master容器, map容器,和reduce容器.对于每种容器类型,都有相应的一组属性可用于设置所请求的资源。在MapReduce中设置资源请求的属性有:

\

注意,这些资源请求可能会被YARN修改,以满足配置的minimum 和maximum 资源值,或者是配置增量的倍数。 请参阅yarn调度配置属性 yarn.scheduler.maximum-allocation-mb, yarn.scheduler.minimum-allocation-mb, yarn.scheduler.increment-allocation-mb, yarn.scheduler.maximum-allocation-vcores, yarn.scheduler.minimum-allocation-vcores, and yarn.scheduler.increment-allocation-vcores。

posted @ 2018-12-07 14:43  JackSun924  阅读(2563)  评论(0编辑  收藏  举报