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. oracle 11g各种下载地址

    Oracle Database 11g Release 2 Standard Edition and Enterprise Edition Software Downloadsoracle 数据库 1 ...

  2. [javascript]巧用sourcemap快速定位javascript中的问题

    大家都有过用-min.js开发的经历,但这样的脚本调试非常头疼.如果使用为压缩版的,上线前又要去压缩,sourcemap的出现完美解决了这一问题. 即便是chrome提供了格式化代码但阅读压缩后的代码 ...

  3. buctoj——合法的出栈顺序

    题目描述 我们知道,一个入栈序列是{1,2,3}的合法出栈序列有{3,2,1},{1,2,3}等,而{3,1,2}是不合法的.现在冰语有一个长度为n的序列A(保证序列内数字唯一,且1<=A[i] ...

  4. sqlserver数据库标注为可疑的解决办法

    前几天客户那边的服务器死机了,然后客户强制关机,重新启动服务器后,系统就没法正常使用,连接不上服务器,我远程操作后,看到数据库标注为可疑,由于客户之前没备份数据库,看来只能是修复了: 1:停止数据库服 ...

  5. 【MySQL】Error 1264: out of range value for column

    此问题是插入的整型数字超出了范围. 比如设置表格的数据类型:cust_fax integer(10) not null 当插入以下数字的时候会抛出标题所说的错误: insert into databa ...

  6. Highcharts 向下钻取饼图

    Highcharts 向下钻取饼图 配置 drilldown 配置 drilldown 用于向下钻取数据,通过点击某项深入到其中的具体数据. drilldown: { series: drilldow ...

  7. 发送垃圾邮件的僵尸网络——药物(多)、赌博、股票债券等广告+钓鱼邮件、恶意下载链接、勒索软件+推广加密货币、垃圾股票、色情网站(带宏的office文件、pdf等附件)

    卡巴斯基实验室<2017年Q2垃圾邮件与网络钓鱼分析报告> 米雪儿 2017-09-07 from:http://www.freebuf.com/articles/network/1465 ...

  8. C# 设计模式巩固 - 简单工厂模式

    前言 设计模式的文章很多.鄙人不才文笔也不咋地.写这篇只为巩固下基础知识,万一不小心帮到了您,是我莫大的荣幸!写的不好欢迎码友指正,废话结束开始进入正题. 介绍 - 简单工厂模式 官方定义:(尴尬~貌 ...

  9. LeetCode OJ:Valid Sudoku(有效数独问题)

    Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board could be ...

  10. CentOS7 开通特定防火墙端口

    >>> 开启端口 firewall-cmd --zone=public --add-port=/tcp --permanent  命令含义: --zone #作用域 --add-po ...