Yarn 2.8.x 基于标签的调度

前言:

       基于标签的调度解决的核心需求是实现部分资源的完全隔离,以及由此基础之上的各个资源池之间的资源互助,最终达到隔离并且弹性的计算形态。

该特性开发现状:
      最新版本2.8.x:

                       1.不支持标签表达式,如:&&,|,*

                       2.资源共享方式不实用,如:2.8.x的模式是labeled资源池向default资源池共享资源。

                       3.user-limit限制不可用,如:在队列中用户所能使用的资源不受当前活跃用户数限制。

                       4.BUG,如:队列可同时运行am限制计算错误,队列总资源显示错误

如何配置:
  1.       在hdfs上创建用于保存label相关数据的目录(相关数据后期有Patch改为用zk存储)。
    1. hdfs dfs -mkdir /xxx/xxx/node-label/
    2. hdfs dfs -chown yarn:yarn /xxx/xxx/node-label/
    3. hdfs dfs -chmod 700 /xxx/xxx/node-label/
  2.       在yarn-site.xml文件中配置:
    1. yarn.node-labels.enabled=true
    2. yarn.node-labels.fs-store.root-dir=/xxx/xxx/node-label
    3. yarn.resourcemanager.scheduler.class=org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler
  3.       配置capacity-scheduler.xml(后面详解)
如何管理标签:
       添加标签:
              yarn rmadmin -addToClusterNodeLabels "<label1>(exclusive=<true|false>),<label2>(exclusive=<true|false>)"

                        说明:exclusive是指该标签管理的资源是否允许分享资源给default分区的任务。

      查看添加的标签:
              yarn cluster --list-node-labels
      给机器添加标签:
              yarn rmadmin -replaceLabelsOnNode "<node1>:<port>=<label1> <node2>:<port>=<label2>"

                        说明:1.node1处必须填写域名。2.如果“=label1“处为空,即表示重设机器标签为空。3.port处为空,即表示设置该机器上所有nm的标签。

      删除标签:

                        yarn rmadmin -removeFromClusterNodeLabels "x","y"

配置capacity-scheduler.xml:
<property>
<name>yarn.scheduler.capacity.root.queues</name>
<value>a,b</value>
</property>
说明:集群有多少队列
<property>
<name>yarn.scheduler.capacity.root.accessible-node-labels.x.capacity</name>
<value> 100 </value>
</property>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值