YARN的job提交过程

  • job提交过程示意图
  • job提交过程详解
    • 1.作业提交
    • 2.作业初始化
    • 3.任务分配
    • 4.任务运行
    • 5.进度和状态更新
    • 6.作业完成

job提交过程示意图

job提交过程详解

1.作业提交

(1)Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。
(2)Client向RM申请一个作业id。
(3)RM给Client返回该job资源的提交路径和作业id。
(4)Client提交jar包、切片信息和配置文件到指定的资源提交路径。
(5)Client提交完资源后,向RM申请运行MrAppMaster。

2.作业初始化

(6)当RM收到Client的请求后,将该job添加到容量调度器中。
(7)某一个空闲的NM领取到该Job。
(8)该NM创建Container,并产生MRAppmaster。
(9)下载Client提交的资源到本地。

3.任务分配

(10)MrAppMaster向RM申请运行多个MapTask任务资源。
(11)RM将运行MapTask任务分配给另外两个NodeManager,另两个NodeManager分别领取任务并创建容器。

4.任务运行

(12)MR向两个接收到任务的NodeManager发送程序启动脚本,这两个NodeManager分别启动MapTask,MapTask对数据分区排序。
(13)MrAppMaster等待所有MapTask运行完毕后,向RM申请容器,运行ReduceTask。
(14)ReduceTask向MapTask获取相应分区的数据。
(15)程序运行完毕后,MR会向RM申请注销自己。

5.进度和状态更新

YARN中的任务将其进度和状态(包括counter)返回给应用管理器, 客户端每秒(通过mapreduce.client.progressmonitor.pollinterval设置)向应用管理器请求进度更新, 展示给用户。

6.作业完成

除了向应用管理器请求作业进度外, 客户端每5秒都会通过调用waitForCompletion()来检查作业是否完成。时间间隔可以通过mapreduce.client.completion.pollinterval来设置。作业完成之后, 应用管理器和Container会清理工作状态。作业的信息会被作业历史服务器存储以备之后用户核查。

YARN的job提交过程相关推荐

  1. spark提交到yarn_详细总结spark基于standalone、yarn集群提交作业流程

    最近总结了一些关于spark core的内容,今天先来和大家分享一下spark的运行模式. spark运行模式 (1)local:在本地eclipse.IDEA中写spark代码运行程序,一般用于测试 ...

  2. mysql 提交_MySQL 事务提交过程

    开发老大要求通过binlog查询一条被修改的数据,数据被查出后问我,有没有可能binlog中不会记录,回答不会,因为数据被修改,若失败直接回滚,不会在binlog中记录,此刻一个朋友用了洪荒之力告诉我 ...

  3. 4.事务提交过程,事务基本概念,Oracle中的事务生命周期,保存点savepoint,数据库的隔离级别

     事务提交过程 事务 基本概念 概念:一个或者多个DML语言组成 特点:要么都成功,要么都失败 事务的隔离性:多个客户端同时操作数据库的时候,要隔离它们的操作, 否则出现:脏读  不可重复读  幻 ...

  4. Spark任务提交后是如何完成提交过程的?源码解析!

    Spark任务提交后是如何完成提交过程的?源码解析! 我们熟知的提交命令: spark­submit ­v ­­class xxx ­­master spark://xxx7077 .... 然后我们 ...

  5. linux mysql提交_MySQL 事务提交过程

    开发老大要求通过binlog查询一条被修改的数据,数据被查出后问我,有没有可能binlog中不会记录,回答不会,因为数据被修改,若失败直接回滚,不会在binlog中记录,此刻一个朋友用了洪荒之力告诉我 ...

  6. Storm任务提交过程及目录树介绍

    目录 前言: 1.Storm 任务提交的过程 2.Storm相关的目录树 总结: 目录 前言: 对于任何一个组件来说,了解它相关的任务提交的过程是非常有必要的(毕竟生产中遇到一些Bug时,你如果知道内 ...

  7. git 代码提交过程

    一.git 代码提交过程 git log 查看git合入的记录 git pull从服务器重新拉代码,将本地代码更新为服务器上的最新代码 git status查看本地代码状态,是否有待提交的代码 git ...

  8. Spark源码阅读——任务提交过程

    2019独角兽企业重金招聘Python工程师标准>>> Spark 源码阅读--任务提交过程 当我们在使用spark编写mr作业是,最后都要涉及到调用reduce,foreach或者 ...

  9. mysql 提交事务_MySQL事务提交过程

    一.MySQL事务提交过程(一) MySQL作为一种关系型数据库,已被广泛应用到互联网中的诸多项目中.今天我们来讨论下事务的提交过程. 由于mysql插件式存储架构,导致开启binlog后,事务提交实 ...

最新文章

  1. 基于MMSeg算法的中文分词类库
  2. Android Listview 点击item变黄色
  3. 计算机运维知识题库,(哭求哥哥姐姐帮助一下)计算机维护笔试题库(辛苦了)...
  4. OSTU大律法二值化原理
  5. SQL约束脚本的用法
  6. 我是如何学会不再担心和喜欢SQL中的NULL的
  7. python子窗口返回数据给主窗口_Python Scrapy,从子页面返回进行抓取
  8. 【讨论】测试工程师能否作为一份终生职业?30岁+怎么办?
  9. 《HTML5和CSS3快速参考》——第1章 走进HTML51.1 概述
  10. eight后缀勒索病毒百胜系统数据库成功恢复
  11. 【Codecs系列】X265编码器(六):lookahead模块分析
  12. 必须重启计算机才能关闭用户账户控制,Win10系统怎么彻底关闭用户帐户控制?...
  13. Default changeset implementation allows only one operation
  14. win10 软路由_超小软路由Nanopi R2S折腾记
  15. 项目实践系列-点击生成自定义设置的二维码
  16. 谈谈我对协议栈设计和架构的理解
  17. word中图片排版问题
  18. 2015年计算机网络考研真题及解析
  19. python:私有属性
  20. 关联分析——Apriori算法

热门文章

  1. FIR滤波器设计(包括Verilog HDL设计以及MATLAB设计)
  2. 【C++】decltype作用探究,unsigned与signed混淆问题
  3. SHOW PROCESSLIST 命令详解 (查看锁表)
  4. cacti 添加redis监控(远程服务器)
  5. 优先队列 堆实现 java
  6. 硬件信息统计_读取输出Excel_显示进度
  7. oracle 常用命令大汇总
  8. ADC和DAC常用技术术语
  9. logo语言linux,用 screenfetch 和 linux_logo 显示带有酷炫 Linux 标志的基本硬件信息
  10. oracle表结构修改回滚,87.Oracle数据库SQL开发之 修改表内存——数据库事务的提交和回滚...