node label

导读

实际的环境部署中,经常会出现不同的机器类型,比如有些机器是计算型的,有些则是内存型;另一种场景是在大集群中,有时候需要指定有些机器预留给特定的用户用,从而避免其它用户的任务对其造成影响;node label节点标签就是解决这类问题的一种好的方式。运维人员可以根据节点的特性将其分为不同的分区来满足业务多维度的使用需求。

特性

  1. 一个Node Manager节点只能属于一个label,如果一个资源节点没有配置label,则其属于一个不存在的DEFAULT分区;
  2. label一共有两种模式:exclusivenon-exclusive,non-exclusive的资源节点同时归属于DEFAULT分区,当用户申请DEFAULT分区的资源时,non-exclusive上的资源也能分配给改应用;
  3. 用户可以为每个队列配置可以访问的分区,默认是只可以访问DEFAULT分区;
  4. 可以设置每个队列访问特定分区的资源比率;
  5. node label以及队列和node label的相关配置支持动态更新;

配置

默认情况下系统时没有开启node label标签功能的,可以在yarn-site.xml中修改下列配置来开启label特性。

Property Value
yarn.node-labels.fs-store.root-dir hdfs://namenode:port/path/to/store/node-labels/
yarn.node-labels.enabled true

操作说明

  • 查询label: yarn cluster -lnl
  • 添加label: yarn rmadmin -addToClusterNodeLabels [label1,label2,label3] (label splitted by ",")
  • 删除label: yarn rmadmin -removeFromClusterNodeLabels [label1,label2,label3] (label splitted by ",")
  • 添加节点标签:yarn rmadmin -replaceLabelsOnNode [node1[:port]=label1,label2 node2[:port]=label1,label2]
  • 查询节点列表: yarn node -list -all
  • 查询单个节点状态: yarn node -state <nodeId>

CapacityScheduler的label特性

配置参数
Property Value
yarn.scheduler.capacity.<queue-path>.capacity 设置队列的容量大小
yarn.scheduler.capacity.<queue-path>.accessible-node-labels 队列可以访问的label列表,如"spark,flink",通过逗号分隔,另外队列均可以访问没有标签的node;默认继承父队列的accessible labels;如果只允许访问无标签的node,配置为一个空格
yarn.scheduler.capacity.<queue-path>.accessible-node-labels.<label>.capacity 队列对某个label的容量设置,对于同一个label属于同一个父队列下面的capacity总和必须为100
yarn.scheduler.capacity.<queue-path>.accessible-node-labels.<label>.maximum-capacity 队列对某个label资源的最大访问容量,默认是100
yarn.scheduler.capacity.<queue-path>.default-node-label-expression 队列默认的访问label,如果请求中未设置label,则设置为该值;默认为空,表现允许访问无label的节点

配置实例

<property>
<name>yarn.scheduler.capacity.root.queues</name>
<value>engineering,marketing</value>
</property>

<property>
<name>yarn.scheduler.capacity.root.engineering.capacity</name>
<value>50</value>
</property>

<property>
<name>yarn.scheduler.capacity.root.marketing.capacity</name>
<value>50</value>
</property>

<property>
<name>yarn.scheduler.capacity.root.engineering.accessible-node-labels</name>
<value>GPU</value>
</property>

<property>
<name>yarn.scheduler.capacity.root.marketing.accessible-node-labels</name>
<value>GPU</value>
</property>

<property>
<name>yarn.scheduler.capacity.root.engineering.default-node-label-expression</name>
<value>GPU</value>
</property>

<property>
<name>yarn.scheduler.capacity.root.engineering.accessible-node-labels.GPU.capacity</name>
<value>50</value>
</property>

<property>
<name>yarn.scheduler.capacity.root.marketing.accessible-node-labels.GPU.capacity</name>
<value>50</value>
</property>

<property>
<name>yarn.scheduler.capacity.root.engineering.default-node-label-expression</name>
<value>GPU</value>
</property>

提交应用指定label
ApplicationSubmissionContext.setNodeLabelExpression(..)指定应用所有container的node label.
ResourceRequest.setNodeLabelExpression(..)设置某个具体的ResourceRequest的label信息
setAMContainerResourceRequest.setNodeLabelExpression设置am请求的node label

FairScheduler Label

当前FairScheduler暂时还不支持node label特性,具体请查看YARN-2497,当前我们自己先基于hadoop-2.7.2版本支持了label特性。新增特性包括:

  • 支持queue设置可访问的accessible label
  • 支持配置队列的default node label

参数例子

<allocations> 
         <queue name="spark">
                <minResources>1066889mb, 629vcores</minResources>
                <maxResources>1066889mb, 629vcores</maxResources>
                <maxRunningApps>40</maxRunningApps>
                <maxAMShare>0.35</maxAMShare>
                <accessibleNodeLabels>GPU,LJH</accessibleNodeLabels>
                <defaultNodeLabelExpression>LJH</defaultNodeLabelExpression>
                <aclSubmitApps>*</aclSubmitApps>
                <aclAdministerApps>sirius</aclAdministerApps>
                <weight>1.0</weight>
        </queue>
         <queue name="router">
                <minResources>1066889mb, 629vcores</minResources>
                <maxResources>1066889mb, 629vcores</maxResources>
                <maxRunningApps>40</maxRunningApps>
                <maxAMShare>0.35</maxAMShare>
                <aclSubmitApps>*</aclSubmitApps>
                <aclAdministerApps>router</aclAdministerApps>
                <weight>1.0</weight>
        </queue>
</allocations>

具体patch内容请邮件联系liujianhuiouc@163.com

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,233评论 6 495
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,357评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,831评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,313评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,417评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,470评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,482评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,265评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,708评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,997评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,176评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,503评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,150评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,391评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,034评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,063评论 2 352

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,644评论 18 139
  • YarnYarn产生背景:Yarn直接来自于MR1.0MR1.0 问题:采用的是master slave结构,ma...
    时待吾阅读 5,624评论 2 23
  • Apache YARN(Yet Another Resource Negotiator)是一个Hadoop集群资源...
    单行线的旋律阅读 2,781评论 0 11
  • Spark Streaming实时长时服务与MapRedue、Spark、Hive等批处理应用共享YARN集群资源...
    cda766963c7e阅读 5,784评论 0 5
  • 一个很要好的闺蜜,给我发消息,说最近忙的焦头烂额,刚入职,就既要当班主任又要当教研组组长,什么都不懂,什么...
    晌午阅读 375评论 0 1