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. nyoj1015——二分图染色

    二部图 时间限制:1000 ms  |  内存限制:65535 KB 难度:1   描述 二部图又叫二分图,我们不是求它的二分图最大匹配,也不是完美匹配,也不是多重匹配,而是证明一个图是不是二部图.证 ...

  2. Maven 中的dependencies与dependencyManagement的区别

    1.dependencyManagement 在Maven中dependencyManagement的作用其实相当于一个对所依赖jar包进行版本管理的管理器 在pom.xml文件中,jar的版本判断的 ...

  3. spring配置bean的生命周期

    配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http:// ...

  4. linux命令权限

    linux-命令权限 1)   新建用户natasha,uid为1000,gid为555,备注信息为“master” 2)   修改natasha用户的家目录为/Natasha 3)   查看用户信息 ...

  5. C++复习5.指针数组字符串

    C/C++ 指针.数组和字符串 本次学习指针.数组.字符串.引用的内存映像. 1.指针 指针的本质:可以执行的程序是由指令.数据和地址组成的.当CPU访问内存单元的时候,不论是读取还是写入,首先要把内 ...

  6. 【sql】使用触发器

    今天在写sql触发器时遇到这样一个问题: 利用完整性规则创建教师表,包括(教师工号,姓名,性别,职称,工资),在此基础上定义触发器,为教师表Teacher定义完整性规则“教授的工资不能低于4000元, ...

  7. 转载:【Oracle 集群】RAC知识图文详细教程(四)--缓存融合技术和主要后台进程

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  8. hdu 5800 To My Girlfriend(背包变形)

    To My Girlfriend Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  9. Easy UI DataGrid 与 分页

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs& ...

  10. css 中相对定位和绝对定位

    1. css中定位机制有三种: 标准文档流, 浮动, 绝对定位 2. 绝对定位就属于第三种定位, 用到position属性, 下面就是具体设置 相对定位: 相对于自身原有位置(就是普通流的时候)进行偏 ...