YARN的核心组件:
1)ResourceManager,扮演Master角色(和HDFS的nameNode很像)主要用于资源分配;RM有两个子组件,分别是Scheduler(Capacity Scheduler以及Fair Scheduler)以及ApplicationManager,主要用于管理应用列表。
2)ApplicationMaster,主要用于资源的请求和已分配资源的管理;ApplicationMaster是由应用提供的,应用将会以jar的形式提交applicationMaster以及其他依赖的jar包;
3)NodeManager,扮演slave的角色(和HDFS的DataNode很像),NodeManager主要负责根据请求创建资源的封装器--contianer,业务的执行都是基于container进行的。
 

提交应用流程:

1. Client提交应用请求到YARN,请求包括CLC(Container Lanuch Context);YARN将会反馈一个applicationID,这里包括ApplicationMaster实现以及业务逻辑需要的依赖jar包,打包一起扔给了YARN,其实对于那个是applicationManager将会有字段进行说明;
2. YARN首先会尝试为应用分配资源队列(Capacity或者Fair),然后轮到了该应用处理的时候(如果是fair资源池直接就可以进行工作了),RM将会首先尝试为applicationMaster进行分配资源,拉起一个container(成为container 0),专门用于跑ApplicationMaster(AM);一旦container 0被拉起来了,应用的状态就是Accecpted,接受了applicationMaster之意;
3. 然后是在container 0里面初始AM,初始化完事后AM将会向RM注册自己,RM反馈一下当前资源情况,AM将会基于当前资源情况向YARN申请资源,通过ResourceRequest;;然后YARN将会反馈一个包含了token认证信息的一个资源清单;AM拿着这个清单,注意是AM,RM分配完资源,告诉container之后就啥也不管了;AM拿着这份资源清单以及CLC下放给NodeManager;当container都执行完了,AM会告诉RM完成;RM将会回收这些容器。在这个过程,两者还会有一些交互,比如AM会想RM通告进度;这些交互都是通过AM向RM发送心跳。
4. NodeManager将会对token进行验证,确认无假后,边从自身的资源中拉起一个container,然后把请求资源进行本地化(包括代码运行的jar包,一些公共的资源等);如果是spark,container里面运行的即使executor进程(是的,是进程);
5. container任务执行完成后,container将会被kill掉;

什么是YARN的更多相关文章

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

    试想一下,你现在所在的公司有一个hadoop的集群.但是A项目组经常做一些定时的BI报表,B项目组则经常使用一些软件做一些临时需求.那么他们肯定会遇到同时提交任务的场景,这个时候到底如何分配资源满足这 ...

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

    在hadoop生态越来越完善的背景下,集群多用户租用的场景变得越来越普遍,多用户任务下的资源调度就显得十分关键了.比如,一个公司拥有一个几十个节点的hadoop集群,a项目组要进行一个计算任务,b项目 ...

  3. Node.js包管理器Yarn的入门介绍与安装

    FAST, RELIABLE, AND SECURE DEPENDENCY MANAGEMENT. 就在昨天, Facebook 发布了新的 node.js 包管理器 Yarn 用以替代 npm .咱 ...

  4. 03 Yarn 原理介绍

    Yarn 原理介绍 大纲: Hadoop 架构介绍 YARN 产生的背景 YARN 基础架构及原理   Hadoop的1.X架构的介绍   在1.x中的NameNodes只可能有一个,虽然可以通过Se ...

  5. Spark on YARN的部署

    Spark on YARN的原理就是依靠yarn来调度Spark,比默认的Spark运行模式性能要好的多,前提是首先部署好hadoop HDFS并且运行在yarn上,然后就可以开始部署spark on ...

  6. yarn关于app max attempt深度解析,针对长服务appmaster平滑重启

    在YARN上开发长服务,需要注意fault-tolerance,本篇文章对appmaster的平滑重启的一个参数做了解析,如何设置可以有助于达到appmaster平滑重启. 在yarn-site.xm ...

  7. Spark源码编译并在YARN上运行WordCount实例

    在学习一门新语言时,想必我们都是"Hello World"程序开始,类似地,分布式计算框架的一个典型实例就是WordCount程序,接触过Hadoop的人肯定都知道用MapRedu ...

  8. 配置Spark on YARN集群内存

    参考原文:http://blog.javachen.com/2015/06/09/memory-in-spark-on-yarn.html?utm_source=tuicool 运行文件有几个G大,默 ...

  9. 【hadoop2.2(yarn)】基于yarn成功执行分布式map-reduce,记录问题解决过程。

    hadoop2.x改进了hadoop1.x的架构, 具体yarn如何工作以及改进了什么可以在网上学, 这里仅记录我个人搭建的问题和理解,希望能帮助遇到困难的朋友. 在开始前,必须了解yarn版本的ma ...

  10. Spark on Yarn 学习(一)

    最近看到明风的关于数据挖掘平台下实用Spark和Yarn来做推荐的PPT,感觉很赞,现在基于大数据和快速计算方面技术的发展很快,随着Apache基金会上发布的一个个项目,感觉真的新技术将会不断出现在大 ...

随机推荐

  1. laravel5.5种的Eloquent ORM的使用:

    控制器方法: //Eloquent ORM的使用: public function orm1() { //all() /*$students=Student::all(); dd($students) ...

  2. uva 12356 Army Buddies 树状数组解法 树状数组求加和恰为k的最小项号 难度:1

    Nlogonia is fighting a ruthless war against the neighboring country of Cubiconia. The Chief General ...

  3. jQuery操作dom事件

    参考:jQuery权威指南jQuery初步jQuery选择器jQuery操作domjQuery操作dom事件jQuery插件jQuery操作AjaxjQuery动画与特效jQuery实现导航栏jQue ...

  4. 海康威视 嵌入到web页面相关问题

    因项目上面需求,接触到了海康威视的设备,要把他嵌入到web页面中,所以就开始了爬坑之路 刚开始不知道如何把设备的页面嵌入到项目的web页面中,直到我遇见了他——“WEB3.0控件开发包V1.0.9_C ...

  5. 将window上的项目上传到自己的github

    使用git 1.首先在自己的github上面新建仓库 2.记下远程仓库的地址 3.在要上传的项目的目录下使用git命令进行上传 (1)先git init 初始化本地的仓库 (2)git add -A ...

  6. 开启 Android WebView 的安全浏览模式

    Hybrid App(混合式开发)已经是每一个商业应用都会使用的开发手段.其最大的优势就是将一些可动态更新的内容页面使用 H5 开发,然后借用移动端原生系统提供的 WebView 控件加载进来.这种方 ...

  7. angular 中不要使用location.href

    location.href = '#/HKorderList?gid='+gid+'&gname='+encodeURIComponent(gname)+'&cPeriod='+$(' ...

  8. HDU 数位dp

    模板http://www.cnblogs.com/jffifa/archive/2012/08/17/2644847.html 完全理解以后,我发现这种写法实在是太厉害了,简洁,优美,可以回避很多细节 ...

  9. [转载][QT][SQL]sql学习记录3_sqlite之update delete like

    转载自:详见 : http://www.runoob.com/sqlite/sqlite-create-table.html 约束表实例 下面是一个实例,它创建了一个 COMPANY 表,ID 作为主 ...

  10. HDU2181 哈密顿绕行世界问题

    解题思路:哈密顿环游世界问题.一道简单的题目,用回溯. #include<cstdio> #include<cstring> #include<algorithm> ...