本文翻译自http://hadoop.apache.org/docs/r2.8.0/hadoop-yarn/hadoop-yarn-site/YARN.html

译注:原文说得有些过于简单的,并且有些混乱。

yarn由两个部分的守护程序构成:资源管理、调度/监控。

这样就要求有个全局资源管理器(resoureManager-rm)和与应用一一对应的管理程序(applicationMaster-am).

一个应用要么是一个作业,要么就是由作业构成的dag(多个job--多个job)

Yarn的数据计算框架由rm和节点管理器(nodemanager -nm)构成.rm负责管理所有应用的资源。nm其实是容器的代理,负责监控资源使用(cpu,内存,磁盘,网络),并向rm/调度器报告有关信息。

am从rm获取资源,并和nm协调工作,执行和监控任务。

译注: dag-directed acycli graph --有向无环图

参阅:

dag图相对比较简单,适合yarn的作业结构,如果太复杂,实现起来有点困难,而且目前暂时没有那个必要。一个有向有环图更可能用于流程处理。

图1-yarn框架

译注:在上图中,有两个客户,分别提交了一个作业。yarn集群的组件分布在4个节点上,其中一个运行rm,另外三个运行nm。am则运行在两个数据节点上,分别用于关于关于两个客户的需求。

  • 紫色客户的应用主程序运行在右上节点,但它的工作实际中右边中间一个节点执行。
  • 粉褐客户的应用主程序运行在右中节点,实际工作分布在右上和右下两个节点上。
  • 粉褐客户的资源需求大体是紫色的两倍。
  • 注意:一个节点上可以有多个容器

nm必须和dn运行在一起,可以方便地收集dn的资源信息。

资源管理器

资源管理器有两个主要的部分:作业调度器和应用主程序.

作业调度器

作业调度器负责为应用分配资源(译注,如果是这么说,也许理解为资源调度器,就好比生活中火车调度站-负责为每个商业合同分配车皮)。

调度器不监控也不追踪应用的状态。

调度器不保证任务的成功,不管任务是因为由于应用还是硬件的故障。

调度器根据应用的资源需求,执行调度功能;它仅仅工作于资源容器上,后者包含诸如内存,cpu,磁盘和网络等等。

调度器具有一个可拔插的策略--根据不同队列,应用等,把集群资源进行划分。当前版本的调度器具有CapacitySchedulerFairScheduler  这两个策略。

译注:

  • CapacityScheduler--容量调度器,大体可以理解为根据要求来分配资源。了解这个很重要,因为不是所有客户的需求都是一样的,需要分轻重缓急。
  • FairScheduler--公平到调度器,大体可以理解为所有的应用的资源需求都是一致的。

应用主程序

应用主程序负责接收作业提交,并找到第一个可用的容器,如果容器有故障,能重启容器。此外am还负责从调度器中获得资源,并追踪和监测任务。

资源预订(resource reservation)

yarn支持预订系统(ReservationSystem),用户可以提前预定资源,这样保留出来的资源可以用于执行一些重要的作业。

预订系统不停地追踪资源,处理预订,并不时提醒调度器,让后者确保所有的预订能够得到满足。

译注:yarn的预订,不失为一个有趣有用的功能。很多系统中,这些功能的实现,主要靠认为操作来实现。

yarn的学习之1-架构的更多相关文章

  1. ML平台_小米深度学习平台的架构与实践

    (转载:http://www.36dsj.com/archives/85383)机器学习与人工智能,相信大家已经耳熟能详,随着大规模标记数据的积累.神经网络算法的成熟以及高性能通用GPU的推广,深度学 ...

  2. JavaWeb学习之三层架构实例(三)

    引言 通过上一篇博客JavaWeb学习之三层架构实例(二)我们基本上已经实现了对学生信息列表的增删改查操作(UI除外),但是不难看出,代码冗余度太高了,尤其是StudentDao这个类,其中的增删改查 ...

  3. yarn的学习-1-包管理工具

    https://yarn.bootcss.com 使用yarn的原因: 1.速度超快 Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载. 同时利用并行下载以最大化资源利用率,因此安装速度更快 ...

  4. (转)MyBatis框架的学习(二)——MyBatis架构与入门

    http://blog.csdn.net/yerenyuan_pku/article/details/71699515 MyBatis框架的架构 MyBatis框架的架构如下图: 下面作简要概述: S ...

  5. Netty学习-IO体系架构系统回顾 & 装饰模式Decorator的具体使用

    Netty学习-IO体系架构系统回顾 IO和NIO的学习 NIO - 1.4 开始出的 在网络应用框架中,NIO得到了大量的使用,特别是netty里面 前提:对IO及其了解 对IO的总结和回顾 理解J ...

  6. YARN学习总结之架构

    一.yarn产生背景 1) 源于MRv1的缺陷:扩展性受限.单点故障.难以支持MR之外的计算框架: 2) 多计算框架各自为战,数据共享困难,资源利用率低: MR: 离线计算框架 Storm:实时计算框 ...

  7. Yarn介绍(设计理念与基本架构)

    Yarn : 新的计算框架,是一个全局资源管理器,负责整个集群的资源管理和分配   一. Yarn产生背景       Hadoop1.0MR有局限性,概括为以下几个方面 :  扩展性差 可靠性差 资 ...

  8. JAVA NIO学习笔记1 - 架构简介

    最近项目中遇到不少NIO相关知识,之前对这块接触得较少,算是我的一个盲区,打算花点时间学习,简单做一点个人学习总结. 简介 NIO(New IO)是JDK1.4以后推出的全新IO API,相比传统IO ...

  9. GreenPlum学习之(Share-nothing)架构

    当今世界是一个信息化的世界,我们的生活中无论是生活.工作.学习都离不开信息系统的支撑.而信息系统的背后用于保存和处理最终结果的地方就是数据库.因此数据库系统就变得尤为重要,这意味着如果数据库如果面临问 ...

  10. JavaWeb学习之三层架构实例(二)

    引言 这个实例是上一个实例JavaWeb学习 三层架构实例(一)的加强版,实现的是在前端对数据库中student表的 增.删.改.查 操作.关于三层组成云云,这里就不再叙述. 实例 效果图 先来看一下 ...

随机推荐

  1. 关于meta标签中的http-equiv属性使用介绍

    关于meta标签中的http-equiv属性使用介绍 meta是html语言head区的一个辅助性标签.也许你认为这些代码可有可无.其实如果你能够用好meta标签,会给你带来意想不到的效果,meta标 ...

  2. 为什么C语言会有头文件

    前段时间一个刚转到C语言的同事问我,为什么C会多一个头文件,而不是像Java和Python那样所有的代码都在源文件中.我当时回答的是C是静态语言很多东西都是需要事先定义的,所以按照惯例我们是将所有的定 ...

  3. SharePoint 2013 - Client Side Rendering

    1. Client side rendering 代码结构为: (function () { // Create object that have the context information ab ...

  4. PHP 运用rsa加密和解密实例

    1.加密解密的第一步是生成公钥.私钥对,私钥加密的内容能通过公钥解密(反过来亦可以) 下载开源RSA密钥生成工具openssl(通常Linux系统都自带该程序),解压缩至独立的文件夹,进入其中的bin ...

  5. haproxy学习——简介、基本配置(二)

    官网:http://www.haproxy.org/ 个人感觉haproxy学习的重点在于配置上,把配置文档搞懂了就明白大部分套路了.不过本篇内容属于入门学习:1.使用haproxy简单的实现负载均衡 ...

  6. java面试题之----转发(forward)和重定向(redirect)的区别

    阅读目录 一:间接请求转发(Redirect) 二:直接请求转发(Forward) 用户向服务器发送了一次HTTP请求,该请求可能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相 ...

  7. check_mk通用应用检测插件

    客户端mk_tvmapp import json filename = '/tmp/tvmapp.json' print '<<<tvmapp>>>' for a ...

  8. JavaScript 面向对象编程(四)的常用方法、属性总结

    面向对象的属性.方法.操作符总结,都是干货.想深入掌握面向对象的程序设计模式,必须掌握一下知识点.下列知识点注重于实现,原理还请借鉴<javascript高级程序设计> (基于javasc ...

  9. Orchard Core 文档翻译 (五)自动路由 Autoroute (OrchardCore.Autoroute)

    Autoroute (OrchardCore.Autoroute) 此模块允许您为内容项指定自定义URL(永久链接 permalink). Autoroute Part 将此部分附加到内容类型以指定内 ...

  10. March 16 2017 Week 11 Thursday

    Adventure may hurt you, but monotony will kill you. 也许冒险会让你受伤,但一成不变会让你灭亡. The very theme of the univ ...