Yarn 2.8.x 基于标签的调度
来源:互联网 发布:手机验钞软件 编辑:程序博客网 时间:2024/06/07 05:55
前言:
基于标签的调度解决的核心需求是实现部分资源的完全隔离,以及由此基础之上的各个资源池之间的资源互助,最终达到隔离并且弹性的计算形态。
该特性开发现状:
最新版本2.8.x:
1.不支持标签表达式,如:&&,|,*
2.资源共享方式不实用,如:2.8.x的模式是labeled资源池向default资源池共享资源。
3.user-limit限制不可用,如:在队列中用户所能使用的资源不受当前活跃用户数限制。
4.BUG,如:队列可同时运行am限制计算错误,队列总资源显示错误
如何配置:
- 在hdfs上创建用于保存label相关数据的目录(相关数据后期有Patch改为用zk存储)。
- hdfs dfs -mkdir /xxx/xxx/node-label/
- hdfs dfs -chown yarn:yarn /xxx/xxx/node-label/
- hdfs dfs -chmod 700 /xxx/xxx/node-label/
- 在yarn-site.xml文件中配置:
yarn.node-labels.enabled=true
yarn.node-labels.fs-store.root-dir=/xxx/xxx/node-label
yarn.resourcemanager.scheduler.class=
org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler
- 配置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:
如何使用Node-label:
在Yarn中一共有4种方式设置container的运行标签:
- 配置队列的默认标签(见上文配置)
- ApplicationSubmissionContext.setNodeLabelExpression();
说明:设置作业所有的container运行的标签。 - ApplicationSubmissionContext.setAMContainerResourceRequest().setNodeLabelExpression()
说明:设置AMContainer的运行标签 - ResourceRequest.setNodeLabelExpression()
说明:设置最终向Capacityscheduler发送的RR的标签
说明:
以上方式的优先级依次加强。
具体以下表的形式(所有方式使用首字母缩写):
Queue default Label
ASC.setNLE()
ASC.setACRR().setNLE()
RR.setNLE()
资源模式:
- 非共享模式
说明:首先作业使用资源的原则是,提交时指定了标签则在对应标签运行,如果没有指定标签,则在空白标签运行。
在非共享模式下,提交到空白标签里的作业如果需要资源,即使标签A,B中有剩余资源,也不能被使用。- 共享模式
说明:在上文情况下,空白标签的作业可以使用标签A,B中的资源,当标签A,B中再次需要资源时,会抢占回被共享的那部分。
典型应用场景:
参考资料:
- https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.4.2/bk_yarn_resource_mgt/content/ch_node_labels.html
- http://pivotalhd.docs.pivotal.io/docs/yarn-resource-management.html
- https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/NodeLabel.html
- http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html
- https://issues.apache.org/jira/browse/YARN-796
- https://wangda.live/2016/04/16/suggestions-about-how-to-better-use-yarn-node-label/
- https://issues.apache.org/jira/browse/YARN-5427
0 0
- Yarn 2.8.x 基于标签的调度
- 基于yarn的公平调度实例
- CDH5.4.4基于yarn的公平调度器配置
- Hadoop2.x 资源调度框架Yarn
- 浅谈yarn的调度模式
- Hadoop2.x的yarn
- YARN ResourceManager调度器的分析
- YARN ResourceManager调度器的分析
- yarn fair调度器的一个问题
- YARN ResourceManager调度器的分析
- YARN ResourceManager调度器的分析
- Yarn的原理与资源调度
- YARN ResourceManager调度器的分析
- YARN ResourceManager调度器的分析
- Yarn的原理与资源调度
- Yarn的fair和capacity调度器
- YARN常用的3种调度器
- Yarn的原理与资源调度
- matlab目录选择对话框 uigetdir
- 正则表达式详解
- 【规则引擎连载6】 WebSphere ILOG JRules 开发——部署规则项目到RES上
- 对于特征离散化,特征交叉,连续特征离散化非常经典的解释
- oracle表字段的增加删除和修改
- Yarn 2.8.x 基于标签的调度
- 高性能流媒体服务器-nebula之数据结构(7)--环形无锁队列
- 排序方法总结
- 大数据美食——寻找地图上的美味
- Struts2框架(三)
- 前序和中序遍历重建二叉树
- 第一篇博客文章,发表试试。最近新看到的两道比较有意思的数据结构题
- LED跑马灯-寄存器
- 朴素贝叶斯分类(Naive Bayesian classification)