YARN体系学习笔记

一、基本组成结构

1. ResourceManager

负责对各个NodeManager 上的资源进行统一管理和调度。包含两个组件:

* Scheduler:调度器根据容量、队列等限制条件(如每个队列分配一定的资源,最多执行一定数量的作业等),将系统中的资源分配给各个正在运行的应用程序

* Applications Manager:应用程序管理器负责管理整个系统中所有应用程序,包括应用程序提交、与调度器协商资源以启动ApplicationMaster、监控ApplicationMaster运行状态并在失败时重新启动它等

2. NodeManager

NM 是每个节点上的资源和任务管理器。

* 定时地向RM 汇报本节点上的资源使用情况和各个Container 的运行状态

* 接收并处理来自AM 的Container启动/ 停止等各种请求

3. ApplicationMaster

用户提交的每个应用程序均包含一个AM,主要功能包括:

* 与RM 调度器协商以获取资源(用 Container 表示)

* 将得到的任务进一步分配给内部的任务

* 与 NM 通信以启动 / 停止任务

* 监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务

4. Container

Container 是YARN 中的资源抽象, 它封装了某个节点上的多维度资源, 如内存、CPU、磁盘、网络等,当AM 向RM 申请资源时,RM 为AM 返回的资源便是用Container表示的。

二、YARN 的工作流程

  1. 用户向YARN 中提交应用程序, 其中包括ApplicationMaster 程序、启动ApplicationMaster 的命令、用户程序等。
  2. ResourceManager 为该应用程序分配第一个Container,并与对应的Node-Manager 通信,要求它在这个Container中启动应用程序的ApplicationMaster。
  3. ApplicationMaster 首先向ResourceManager 注册,这样用户可以直接通过ResourceManage 查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它的运行状态,直到运行结束,即重复步骤4~7。
  4. ApplicationMaster 采用轮询的方式通过RPC 协议向ResourceManager 申请和领取资源。
  5. 一旦ApplicationMaster 申请到资源后,便与对应的NodeManager 通信,要求它启动任务。
  6. NodeManager 为任务设置好运行环境(包括环境变量、JAR 包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务。
  7. 各个任务通过某个RPC 协议向ApplicationMaster 汇报自己的状态和进度,以让ApplicationMaster 随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。在应用程序运行过程中,用户可随时通过RPC向ApplicationMaster 查询应用程序的当前运行状态。
  8. 应用程序运行完成后,ApplicationMaster 向ResourceManager 注销并关闭自己。
时间: 2024-08-13 23:23:52

YARN体系学习笔记的相关文章

IT服务管理国际标准体系学习笔记-1

第一章 导言略 第二章 服务质量管理的原则 1.企业要求IT部门必须采用以业务为中心.质量为导向和规范一致的做法交付IT服务. 2.什么是质量? ISO 20000 对质量的定义 质量是指某一个产品或服务能够满足客户所必须的那些特性. 3.什么是质量管理? 质量管理是指组织所采取的措施,用于确保其产品或服务满足客户的质量要求,并遵守任何适用于那些产品或服务的规定. 4.什么是全面质量管理? TQM是不断鼓励组织中的每个人去满足内部和外部客户的要求,以便获得竞争优势. William Edward

IT服务管理国际标准体系学习笔记-2

ISO 9000的八项质量管理原则的作用 1.以客户为中心 1)通过对市场机会的灵活和快速反应,提高收入和市场份额: 2)提高组织资源的利用效率,从而实现增强客户满意度: 3)提高客户忠诚度,留住回头客: 益处 1)能够通过鉴别客户未来的需求制定公司的策略: 2)调查研究并理解客户的需求和期望: 3)把组织的目标与客户的需求和期望连接起来: 4)在组织内部全面沟通客户的需求和期望: 5)衡量客户满意度,并针对结果采取改进: 6)系统的管理客户关系: 7)确保在满意的客户和其他利益相关方之间取得平

Hadoop学习笔记_2_Hadoop源起与体系概述[续]

Hadoop源起与体系概述 Hadoop的源起--Lucene Lucene是Doug Cutting开创的开源软件,用java书写代码,实现与Google类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎 早期发布在个人网站和SourceForge,2001年年底成为apache软件基金会jakarta的一个子项目 Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎 对于大数据的

Hadoop学习笔记_1_Hadoop源起与体系概述

Hadoop源起与体系概述 引[一个典型的实验环境]: 1.服务器: ESXi,可以在上面部署10多台虚拟机,能同时启动4台; ESXi可以直接安装在裸机上面,而不用首先安装一个WinServer或Linux(StandAlone安装). ESXi在本质上就是一个高度定制化的Linux,其内核与周边环境都被VMWare公司修改了. 2.PC:要求Linux环境或Windows+Cygwin,Linux可以是StandAlone或者使用虚拟机 3.SSH:Windows下可以使用SecureCRT

java/android 设计模式学习笔记(7)---装饰者模式

这篇将会介绍装饰者模式(Decorator Pattern),装饰者模式也称为包装模式(Wrapper Pattern),结构型模式之一,其使用一种对客户端透明的方式来动态的扩展对象的功能,同时它也是继承关系的一种替代方案之一,但比继承更加灵活.在现实生活中也可以看到很多装饰者模式的例子,或者可以大胆的说装饰者模式无处不在,就拿一件东西来说,可以给它披上无数层不一样的外壳,但是这件东西还是这件东西,外壳不过是用来扩展这个东西的功能而已,这就是装饰者模式,装饰者的这个角色也许各不相同但是被装饰的对

[转载]SharePoint 2013搜索学习笔记之搜索构架简单概述

Sharepoint搜索引擎主要由6种组件构成,他们分别是爬网组件,内容处理组件,分析处理组件,索引组件,查询处理组件,搜索管理组件.可以将这6种组件分别部署到Sharepoint场内的多个服务器上,组成适合需求的Sharepoint搜索场,搜索场的体系结构设计主要参考量是爬网内容量,微软根据爬网内容量不同将搜索场分为大型场,中型场和小型场,更多详细信息可参考: SharePoint Server 2013 中的搜索概述和在SharePoint Server 2013 中规划企业搜索体系结构.

《机器学习》学习笔记(一)

今天看了两集Stanford 的Machine Learning,先说说感受,在看的过程中,脑海里冒出来一个念头:在中国的大学里,教授们都是好像在做研究,而学生们都是好像在上课,到头来不知道学到了什么,我在屏幕的这边都能感受到他们和我们的不一样. 其实对于机器学习,我是真心不懂,也不知道为什么忽然就想学习一下了,然后看了第一集就觉得实在是太牛X了,他们做的那个爬越障碍物的狗和快速避障的小车,都不是我们能搞出来的,说来也奇怪,我们不是也有他们一样的课程体系吗?照理说在大学里能做出来的东西,我们也应

WeX5学习笔记

目录 WeX5学习笔记... 1 1.轻松看透WeX5产品能力和技术... 1 2.WeX5可以怎么玩?... 3 一.纯本地App. 3 二.关联一个网站,希望默认就打开某页... 4 三.UI设计器... 4 四.打包神器... 4 五.标准玩法... 4 3.WeX5 App与服务端交互原理... 4 4.Account示例程序... 5 5.Takeout示例程序... 7 5.1Index.w.. 7 5.2mapActivity.w.. 13 问题... 13 6.页面间交互视频..

Binder学习笔记(五)—— Parcel是怎么打包数据的?

前文中曾经遇到过Parcel,从命名上知道他负责数据打包.在checkService的请求/响应体系中,Parcel只打包了基本数据类型,如Int32.String16……后面还要用于打包抽象数据类型flat_binder_object,这会稍微复杂一些,因此有必要拿出来单独研究.我们从Parcel::writeInterfaceToken(…)追起,它的层层调用关系如下,这些函数都在frameworks/native/libs/binder/Parcel.cpp文件中,行数和函数名为: 582