从 0 开始学大数据
李智慧
同程艺龙交通首席架构师,前 Intel 大数据架构师,《大型网站技术架构》作者
71151 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 47 讲
智慧写给你的寄语 (1讲)
从 0 开始学大数据
15
15
1.0x
00:00/00:00
登录|注册

09 | 为什么我们管Yarn叫作资源调度框架?

应用程序管理器
调度器
容器
资源管理器组件
NodeManager
ResourceManager
示例
Yarn规范
工作流程
架构
发展历程
Service层和DAO层的关系
对于云计算的理解
对于大数据技术的理解
依赖倒转原则
Yarn
MapReduce
HDFS
思考题
Yarn的重要性
框架设计原则
Hadoop
为什么我们管Yarn叫作资源调度框架?

该思维导图由 AI 生成,仅供参考

我们知道,Hadoop 主要是由三部分组成,除了前面我讲过的分布式文件系统 HDFS、分布式计算框架 MapReduce,还有一个是分布式集群资源调度框架 Yarn但是 Yarn 并不是随 Hadoop 的推出一开始就有的,Yarn 作为分布式集群的资源调度框架,它的出现伴随着 Hadoop 的发展,使 Hadoop 从一个单一的大数据计算引擎,成为一个集存储、计算、资源管理为一体的完整大数据平台,进而发展出自己的生态体系,成为大数据的代名词。
所以在我们开始聊 Yarn 的实现原理前,有必要看看 Yarn 发展的过程,这对你理解 Yarn 的原理以及为什么被称为资源调度框架很有帮助。
先回忆一下我们学习的 MapReduce 的架构,在 MapReduce 应用程序的启动过程中,最重要的就是要把 MapReduce 程序分发到大数据集群的服务器上,在 Hadoop 1 中,这个过程主要是通过 TaskTracker 和 JobTracker 通信来完成。
这个方案有什么缺点吗?
这种架构方案的主要缺点是,服务器集群资源调度管理和 MapReduce 执行过程耦合在一起,如果想在当前集群中运行其他计算任务,比如 Spark 或者 Storm,就无法统一使用集群中的资源了
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Yarn作为Hadoop的资源调度框架,是Hadoop从单一大数据计算引擎发展为完整大数据平台的关键组成部分。文章介绍了Yarn的发展历程和架构原理,以及其与MapReduce的关系。Yarn的架构包括资源管理器和节点管理器,通过容器进行资源分配和管理。文章还解释了为什么HDFS是系统而MapReduce和Yarn是框架,强调了框架设计原则中的依赖倒转原则。总结指出,虽然普通大数据开发者可能不需要直接编写Yarn相关程序,但理解Yarn的工作原理对于正确使用大数据技术和理解云计算的资源管理至关重要。 Yarn的发展历程和架构原理,以及其与MapReduce的关系。 Yarn的架构包括资源管理器和节点管理器,通过容器进行资源分配和管理。文章还解释了为什么HDFS是系统而MapReduce和Yarn是框架,强调了框架设计原则中的依赖倒转原则。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《从 0 开始学大数据》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(63)

  • 最新
  • 精选
  • 落叶飞逝的恋
    实际项目开发中,要做到依赖倒置的方法,一般就是抽象出相应的接口的方法,不依赖具体。面向接口编程。

    作者回复: 是的,但是更重要的是接口是高层需求的抽象,还是底层实现的抽象。这是依赖倒置的关键,面向接口本身并不能保证依赖倒置原则,否则和接口隔离原则没有区别。

    2018-11-17
    87
  • hua168
    看完几期感觉没有什么能难得住大神你的,回答问题在您那里感觉都很简单……我一般学习是先找视频看一下,照着截图,练习,然后去官网看一下说明文档,看更新了哪些知识。照视频学习又要截图,感觉很慢,很费时,看官方文档又很难深入,能否请教一下自学如果能深入,是我方法不对吗?有很多问题官网都没答案的啊,google不少也搜索不出来……运维类学的东西很多,精通感觉比较难……把原理东西,理解好,慢慢锻炼能不能达到您一半的水平呢?😂

    作者回复: 理解原理后倒推它应该是什么样,训练自己从设计者角度分析问题,而不是一味被动学习。 也是这个专栏想达到的目的。

    2018-11-17
    28
  • 小千
    sql语言是不是也是依赖倒转原则?不同的数据库都要支持sql语言规范,(很多)sql语句语句都可以在不同的数据库执行。

    作者回复: 依赖倒转一般是指两个实现之间的依赖关系倒转。 这里上下文的两个实现应该分别是应用程序和数据库,应用程序依赖SQL,数据库实现SQL。 但是,SQL作为规范是数据库制定的规范,是底层规范,而不是应用程序制定的,所以这种情况一般不认为是依赖倒转。

    2018-11-22
    24
  • 生活在别处
    老师,资源调度和计算调度的区别是什么?

    作者回复: 资源调度如Yarn,管理的是集群中的计算资源,如CPU、内存的分配和回收。 计算调度应该是计算任务调度,如map和reduce的任务或者spark的任务,应该在哪个container启动,启动前后顺序管理等。

    2019-02-19
    23
  • 老男孩
    突然明白了,这么多年都是错误的观点。我之前的所谓分层展现层,服务层,持久层其实都是上层依赖下层的抽象,不是依赖倒置。

    作者回复: 是的👍🏻

    2018-11-19
    22
  • 纯洁的憎恶
    MapReduce框架遵循把程序发送到数据存储位置运行的原则。而资源调度框架的任务是动态调配计算资源(内存+cpu),那么就很有可能出现本地数据需要发送到其他节点计算的情况,于是就会有网络传输大量数据的现象,这是否与程序在数据存储节点运行的初衷相悖呢?我这么理解对么?

    作者回复: 有可能。 不用yarn也会有这个问题。 网络效率这几年提升很快,这个问题不严重。

    2018-11-18
    17
  • 席席
    李老师。框架:指的是能兼容一类底层问题的技术,这么理解可以嘛?Spring 的依赖注入指的是框架嘛?

    作者回复: 框架是对某一类架构方案可复用的设计与实现。所有的 Web 应用都需要监听 HTTP 端口,也需要处理请求参数,这些功能不应该在每个 Web 应用中都被重复开发,而是应该以通用组件的形式被复用。但并不是所有可被复用的组件都被称作框架,框架通常规定了一个软件的主体结构,可以支撑起软件的整体或者局部的架构形式。比如说,Tomcat 完成了 Web 应用请求响应的主体流程,我们只需要开发 Servlet,完成请求处理逻辑,构造响应对象就可以了,所以 Tomcat 是一个框架。还有一类可复用的组件不控制软件的主体流程,也不支撑软件的整体架构,比如 Log4J 提供了一个可复用的日志输出功能,但是,日志输出功能不是软件的主体结构,所以我们通常不称 Log4J 为框架,而称其为工具。 https://time.geekbang.org/column/article/183371

    2020-05-18
    15
  • Jowin
    请教老师,关于mapreduce和yarn的结合,是不是mapreduce ApplicationMaster 向资源管理器申请计算资源时可以指定目标节点(数据分片所在节点),而如果系统资源能够满足,就会把mapreduce计算任务分发到指定的服务器上。如果资源不允许,比如目标节点非常繁忙,这时部分mapreduce计算任务可能会分配另外的服务器(数据分片不在本地)?也就是说,yarn对资源调度是尽力而为,不保值一定满足ApplicationMaster的要求,这个理解正确么?

    作者回复: 是的

    2018-12-01
    2
    10
  • Li Shunduo
    请问Yarn里的容器和docker这一类容器有什么关系吗?

    作者回复: 没有关系。两种容器设计思路差不多,docker更通用。

    2018-11-17
    10
  • 涤生
    有没有可能存在一种情况就是,在分布式集群中,DataNode存了10G的数据,但是该节点服务器计算资源很少了(假设系统中已经有其他大数据应用在跑),其他DataNode也是存了10G数据,但是其他阶段计算资源都很充足,那最后是不是就导致了整个reduce操作都要等当前的map操作结束了才能执行,大大降低了整个程序的计算效率。

    作者回复: map 和 reduce任务分配优先分配处理本机数据,如果本机没有计算资源了,会分配到其他机器上,不会等待本机资源释放后在分配。 对于已经分配的任务,如果本机计算慢,会在其他机器启动备份task,也就是同一个任务会在多个机器同时执行,使用先执行完的任务结果进行后续计算。

    2019-11-03
    8
收起评论
显示
设置
留言
63
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部