【云计算】YARN基于IO资源的隔离调度实例教程
小标 2018-12-24 来源 : 阅读 935 评论 0

摘要:本文主要向大家介绍了【云计算】YARN基于IO资源的隔离调度实例教程,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

本文主要向大家介绍了【云计算】YARN基于IO资源的隔离调度实例教程,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

前言

众所周知,目前YARN所支持的资源类型主要有2两大类:内存和CPU.但是其实对于操作系统层面,还有一个重要的资源是没有被YARN考虑在内的,就是IO资源,这里的IO资源你可以理解为比如说存储空间的容量,但是它其实也可以有其它的含义。目前YARN这种不考虑IO资源状况的调度方式,会造成有些container会消耗大量的IO资源,尽管可能他们只用了一点点的,内存和CPU资源。所以把IO资源也作为YARN调度的一个需求条件之一,是一个大有好处并且有其使用场景的功能点。

IO资源的概述

刚刚在上文已经提过了,这里的IO资源并不仅仅是指磁盘容量空间,它还可以是一种别的能力,比如说iops(每秒io次数),带宽等等。只是说,为了方便理解,我们暂且以磁盘空间作为一个节点IO资源的表示,磁盘空间越多,代表其所能处理的io次数也自然比较多。

YARN基于IO资源的调度和隔离

这里我们主要关注2点:

一个是IO资源的调度,这个调度关注的点主要是防止io资源的过度分配,导致过载的问题。 还有一个是IO隔离的问题。类似于CPU使用的隔离,我们同样要保证一定的IO资源使用隔离,防止不同用户应用的相互干扰。

IO资源的调度

IO资源的调度在YARN层面,我们想让IO也作为其中的一个判断条件,就要把它也作为一个资源field,比如我们这里用vdisk来表示需要的IO资源,vdisk越大,表示需要的IO资源越多,新的资源请求实例对象定义如下:

message ResourceProto {
 optional int32 memory = 1
 optional int32 virtual_cores = 2
 optional int32 vdisks = 3
}

就是说在ResourceManager在分配container的时候,还需要带上vdisk资源的请求判断,这里每个节点的vdisk资源可以以2倍于实际磁盘数的标准来配置,逻辑上的含义即为IO处理能力的一种抽象。

IO资源的隔离

类似于Cgroup下的CPU隔离,我们在系统IO层面也可以做类似的进程间的隔离。这里会用到Cgroup下的blkio子系统,它可以用来做这方面的控制隔离。

blkio子系统的IO隔离目前有2种方式:

第一种,基于权重值设置的CFQ(完全公平调度算法)。每个进程会按照规定比例权重允许执行相应的IO操作数量。 第二种,IO上限值的操作控制,这里不仅仅可以是IO的操作数,还可以是带宽流量的限制。

这里的IO隔离,主要指以上提到的2点。而对于具体采用哪种方式,我们可以通过在YARN内设置不同的隔离类来使用。

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程