[大数据之Yarn]——资源调度浅学

在hadoop生态越来越完善的背景下,集群多用户租用的场景变得越来越普遍,多用户任务下的资源调度就显得十分关键了。比如,一个公司拥有一个几十个节点的hadoop集群,a项目组要进行一个计算任务,b项目组要计算一个任务,集群到底先执行哪个任务?如果你需要提交1000个任务呢?这些任务又是如何执行的?

为了解决上面的问题,就需要在hadoop集群中引入资源管理和任务调度的框架。这就是——Yarn。

YARN的发展

Yarn在第一代的时候,框架跟hdfs差不多。一个主节点jobtracker,用来分配任务和监控任务运行情况;多个从节点tasktracker,用来执行真正的计算。

这种方式还是有一定的弊端的:

  • tasktracker出现故障,会导致整个任务计算失败。
  • jobtracker压力过大,既要负责全局的任务分配,还需要时刻与tasktracker沟通。

因此,就出现了第二代的YARN。

这种模式主要的特点,就是两个地方:

jobtracker被分离为两个角色,一个是resourcemanager,简称RM,仅仅负责任务的调度和应用的管理;一个是applicationmaster,简称AM,每个应用任务都会创建一个AM,用于申请任务需要的资源并且监控任务运行状况。

YARN资源调度流程

YARN的资源调度可以看官网提供的图片:

流程大致如下:

  • client客户端向yarn集群(resourcemanager)提交任务
  • resourcemanager选择一个node创建appmaster
  • appmaster根据任务向rm申请资源
  • rm返回资源申请的结果
  • appmaster去对应的node上创建任务需要的资源(container形式,包括内存和CPU)
  • appmaster负责与nodemanager进行沟通,监控任务运行
  • 最后任务运行成功,汇总结果。

其中Resourcemanager里面一个很重要的东西,就是调度器Scheduler,调度规则可以使用官方提供的,也可以自定义。

官方大概提供了三种模式:

  • FIFO,最简单的先进先出,按照用户提交任务的顺序执行。这种方式最简单,但是也一大堆问题,比如任务可能独占资源,导致其他任务饿死等。
  • Capacity,采用队列的概念,任务提交到队列,队列可以设置资源的占比,并且支持层级队列、访问控制、用户限制、预定等等高级的玩法。
  • Fair share,基于用户或者应用去平分资源,灵活分配。

capacity和fair share都是采用队列的模式,队列内部基本上还是FIFO。并且同级的队列任务,如果一个队列是空闲的,那么另一个队列任务可以使用资源;如果这个队列又提交了任务,则会抢占或者等待资源释放,直到资源到达预定的分配比例。

总的来说,YARN的资源调度还是比较完善的。

参考

本文转自博客园xingoo的博客,原文链接:[大数据之Yarn]——资源调度浅学,如需转载请自行联系原博主。

时间: 2024-09-29 07:42:43

[大数据之Yarn]——资源调度浅学的相关文章

大数据之Yarn——Capacity调度器概念以及配置

试想一下,你现在所在的公司有一个hadoop的集群.但是A项目组经常做一些定时的BI报表,B项目组则经常使用一些软件做一些临时需求.那么他们肯定会遇到同时提交任务的场景,这个时候到底如何分配资源满足这两个任务呢?是先执行A的任务,再执行B的任务,还是同时跑两个? 如果你存在上述的困惑,可以多了解一些yarn的资源调度器. 在Yarn框架中,调度器是一块很重要的内容.有了合适的调度规则,就可以保证多个应用可以在同一时间有条不紊的工作.最原始的调度规则就是FIFO,即按照用户提交任务的时间来决定哪个

大数据学习之路(持续更新中...)

在16年8月份至今,一直在努力学习大数据大数据相关的技术,很想了解众多老司机的学习历程.因为大数据涉及的技术很广需要了解的东西也很多,会让很多新手望而却步.所以,我就在自己学习的过程中总结一下学到的内容以及踩到的一些坑,希望得到老司机的指点和新手的借鉴. 前言 在学习大数据之前,先要了解他解决了什么问题,能给我们带来什么价值.一方面,以前IT行业发展没有那么快,系统的应用也不完善,数据库足够支撑业务系统.但是随着行业的发展,系统运行的时间越来越长,搜集到的数据也越来越多,传统的数据库已经不能支撑

大数据云计算学习路线图(纯属个人看法和观点)

[ps:以下纯属个人观点和看法,有什么不对的,还请多多指教.] 1:之前发过一个Java攻城狮的学习路线图[ps:挺详细的~~~]:http://www.cnblogs.com/biehongli/p/5754555.html 恰恰是这个Java攻城狮学习路线图使我在学习编程的路上看到了希望,使迷茫的我找到了方向.现在还为此在努力...... 2:而今天呢,结合一些培训机构的学习路线图,今天发一个大数据云计算的学习路线图,也许有的人心中会有些疑问说这货是骗浏览量,点击量的吧,可是原因不是这样的哦

超级人工智能:大数据的未来?

在百度大数据开放大会上,搞计算机学术理论的怀进鹏校长的演讲犹如给所有听众的一记闷棍,怀校长的学术演讲把大家弄得云里雾里,把所有人弄晕了,现场能够听懂的绝对是少数,可能都会觉得怀校长有点像个外星人一般在那自顾自的演讲.但我作为一个曾经有志从事人工智能研究但失之交臂的又是学计算机毕业的人却越听越兴奋,冥冥中似乎找到了未来的人工智能所能抵达的可能性,那么我现在就尝试把怀教授的演讲转换为人类也能够听懂的语言吧. 一,理解大数据 1,当前大数据的四大特征:规模大.变化快.种类杂.价值密度低. 其实这理解起

全球大数据产业发展现状与应用趋势

1 .大数据发展概述 当今是一个数据爆发增长的时代.移动互联网.移动终端和数据传感器的出现,使数据以超出人们想象的速度快速增长.据调查机构估测,数据数量一直在快速增加,这个速度不仅是指数据流的增长,而且还包括全新的数据种类的增多.目前数据容量增长的速度,已经大大超过了硬件技术的发展速度,并正在引发数据存储和处理的危机.据统计,2013年全球产生的数据达到3.5泽字节,到2020年产生的数量将增至44泽字节. "大数据"一词来自于未来学家托夫勒于1980年所著的<第三次浪潮>

全球各国大数据市场的发展现状

1 大数据发展概述 当今是一个数据爆发增长的时代.移动互联网.移动终端和数据传感器的出现,使数据以超出人们想象的速度快速增长.据调查机构估测,数据数量一直在快速增加,这个速度不仅是指数据流的增长,而且还包括全新的数据种类的增多.目前数据容量增长的速度,已经大大超过了硬件技术的发展速度,并正在引发数据存储和处理的危机.据统计,2013年全球产生的数据达到3.5泽字节,到2020年产生的数量将增至44泽字节. "大数据"一词来自于未来学家托夫勒于1980年所著的<第三次浪潮>.

大数据应用的下一阶段发展方向在哪里?

时至今日,我们的数据管理能力日益提升,但数据分析能力则相对落后.尽管工具与流程皆已齐备,但仍然缺少充足的数据科学家人员.在今天的文章中,我们将专注于能够交付实际分析结论的大数据应用,同时追踪其发展及当前状态,最终借此窥探大数据技术的未来发展方向. 早期大数据技术采纳方指明令人感兴趣的跨行业发展可能性 根据2012年<福布斯>杂志发表的文章,早期大数据技术采纳方主要来自金融服务.电信.制造(特别是消费级产品)以及政府领域. 早期采纳方在起步阶段会使用其新近安装的大数据基础设施(例如HDFS.Ma

大数据应用的未来发展在何方?

时至今日,我们的数据管理能力日益提升,但数据分析能力则相对落后.尽管工具与流程皆已齐备,但仍然缺少充足的数据科学家人员.在今天的文章中,我们将专注于能够交付实际分析结论的大数据应用,同时追踪其发展及当前状态,最终借此窥探大数据技术的未来发展方向 早期大数据技术采纳方指明令人感兴趣的跨行业发展可能性 根据2012年<福布斯>杂志发表的文章,早期大数据技术采纳方主要来自金融服务.电信.制造(特别是消费级产品)以及政府领域. 早期采纳方在起步阶段会使用其新近安装的大数据基础设施(例如HDFS.Map

中国大数据论坛第八期教育成都沙龙成功

本文讲的是中国大数据论坛第八期教育成都沙龙成功,2015年8月11日下午以"当前智慧教育及教育大数据应用的成功实践及前沿技术趋势"为议题的大数据助力智慧教育--<中国大数据论坛>第八期 教育大数据成都专场沙龙走进成都博康智慧城市信息技术有限公司,在成都市高新区天府大道中段萃华路89号 成都国际科技节能大厦A座3楼圆满举办.出席本次会议的有:中国信息协会大数据分会秘书长郑宏.崇州市人民政府市长助理叶志俊.博康智慧城市信息技术有限公司总经理董学礼.乐山职业技术学院副院长刘忠.中