在Yarn中,JobTracker被分为两部分:ResourceManager(RM)和ApplicationMaster(AM)。
MRv1主要由三部分组成:编程模型(API)、数据处理引擎(MapTask和ReduceTask)和运行环境(JobTracker和TaskTracker);Yarn继承了MRv1的编程模型和数据处理引擎,改变的只是运行环境,所以对编程没有什么影响。

RM负责资源调度,AM 负责任务调度。

RM负责整个集群的资源管理与调度;Nodemanager(NM)负责单个节点的资源管理与调度;NM定时的通过心跳的形式与RM进行通信,报告节点的健康状态与内存使用情况;AM通过与RM交互获取资源,然后通过与NM交互,启动计算任务。

在上Yarn的框架管理中,无论是AM从RM申请资源,还是NM管理自己所在节点的资源,都是通过container进行的。Container是Yarn的资源抽象,此处的资源包括内存和cup等。

不同角色的作用:
ResourceManager
NodeManager
ApplicationMaster

不同概念
Container

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

Yarn执行流程的更多相关文章

  1. YARN Application执行流程

    原文见  http://xiguada.org/yarn-application_run/ 本节简单描述了一个Application在YARN上的执行流程,希望对初识YARN的同学提供一些帮助. 图1 ...

  2. 理解Yarn的执行流程和组件作用

    Yarn引入案例 1.学生找院长报到,院长给学生一个学号 2.院长比较忙,继续找主任处理学生事务 3.系主任找院办给学生分配资源(书本) 4.主任找张老师教授java 5.张老师给学生安排座位 6.学 ...

  3. 追源索骥:透过源码看懂Flink核心框架的执行流程

    li,ol.inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-bottom:20px}dt, ...

  4. Spark(五)Spark任务提交方式和执行流程

    一.Spark中的基本概念 (1)Application:表示你的应用程序 (2)Driver:表示main()函数,创建SparkContext.由SparkContext负责与ClusterMan ...

  5. Hadoop - YARN 启动流程

       一  YARN的启动流程                                                                 watermark/2/text/aHR ...

  6. spark 源码分析之二十一 -- Task的执行流程

    引言 在上两篇文章 spark 源码分析之十九 -- DAG的生成和Stage的划分 和 spark 源码分析之二十 -- Stage的提交 中剖析了Spark的DAG的生成,Stage的划分以及St ...

  7. 透过源码看懂Flink核心框架的执行流程

    前言 Flink是大数据处理领域最近很火的一个开源的分布式.高性能的流式处理框架,其对数据的处理可以达到毫秒级别.本文以一个来自官网的WordCount例子为引,全面阐述flink的核心架构及执行流程 ...

  8. 步步深入:MySQL架构总览->查询执行流程->SQL解析顺序

    前言: 一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一篇博文了. 本文将从MySQL总体架构--->查询执行流程--->语句执行顺序来 ...

  9. 第二天 ci执行流程

    第二天 ci执行流程 welcome 页面 this this->load 单入口框架index.php 两个文件夹 system application定义 定义常亮路径 载入 codeign ...

随机推荐

  1. 定制应用Repeater 、ListView的模版

    若干年前有个需求:客户可在管理后台给每个新闻内容栏目指定新闻的显示样式,有的可以显示新闻时间,有的则不需要.于是就有了动态模版的应用.记得当时是用 LoadControl 的方式然后 Controls ...

  2. 区分重载(overload),覆盖(Override)和隐藏(hide)

    重载overload,这个概念是大家熟知的.在同一可访问区内被声名的几个具有不同参数列的(参数的类型.个数.顺序不同)同名函数,程序会根据不同的参数列来确定具体调用哪个函数,这种机制就是重载.重载不关 ...

  3. vi 打开文件,行末尾有^M

    原因: Windows下的文本文件的每一行结尾,都有一个回车符('\n')和一个换行符('\r') Linux下的文本文件的每一行结尾,只有一个回车符('\n') Mac下的文本文件的每一行结尾,只有 ...

  4. svn -- svn安装与配置

    1.SVN分为服务器端与客户端 l 服务器端:VisualSVN   SubVersion l 客户端:TortoiseSVN server http://www.visualsvn.com/ cli ...

  5. miRbase 数据库简介

    miRbase 是miRNA 的数据库,目前最新版本为 release 21, 共有28645 条 miRNA,  第22 版已经完成,即将发布,22版新增了10000 个miRNA, 大多来源于新的 ...

  6. CentOS 经常使用系统命令

    # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue   # 查看操作系统版本号# cat /proc/cpuinfo      # 查看CPU信息# ...

  7. flask with gae开发小结

    最近因为要重写之前发布在GAE上的一个博客,又回顾了一下python,同时,因为用的flask,gae等等,一道写一些小总结,供日后查阅. 1, slugify 其实这个问题可以不考虑,只要你愿意用中 ...

  8. jekins job configure找不到remote trigger(script)

    今天想测试一下,remote的方式启动一个job,但是在“构建触发器”一栏根本找不到remote trigger,很惊讶的是在网上所有的doc或者demo里都是有这个选项的. 最后,终于找到了原因: ...

  9. 线程与COM

    场景: C++部分封装为COM,C#来调用.调用可能是在线程中的. 应用程序退出时,C#的部分 自动清理,某些线程可能还没有完全停掉. COM内部的东西也在释放内存. 这个时候,稍有不慎,就会崩溃. ...

  10. Python打包-py2exe

    上篇文章讲了pyinstaller,可以打包成包含Windows, Linux, Mac OS X, FreeBSD, Solaris and AIX等操作系统下的可执行文件,如果只针对Windows ...