YARN的job提交过程
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提交过程相关推荐
- spark提交到yarn_详细总结spark基于standalone、yarn集群提交作业流程
最近总结了一些关于spark core的内容,今天先来和大家分享一下spark的运行模式. spark运行模式 (1)local:在本地eclipse.IDEA中写spark代码运行程序,一般用于测试 ...
- mysql 提交_MySQL 事务提交过程
开发老大要求通过binlog查询一条被修改的数据,数据被查出后问我,有没有可能binlog中不会记录,回答不会,因为数据被修改,若失败直接回滚,不会在binlog中记录,此刻一个朋友用了洪荒之力告诉我 ...
- 4.事务提交过程,事务基本概念,Oracle中的事务生命周期,保存点savepoint,数据库的隔离级别
事务提交过程 事务 基本概念 概念:一个或者多个DML语言组成 特点:要么都成功,要么都失败 事务的隔离性:多个客户端同时操作数据库的时候,要隔离它们的操作, 否则出现:脏读 不可重复读 幻 ...
- Spark任务提交后是如何完成提交过程的?源码解析!
Spark任务提交后是如何完成提交过程的?源码解析! 我们熟知的提交命令: sparksubmit v class xxx master spark://xxx7077 .... 然后我们 ...
- linux mysql提交_MySQL 事务提交过程
开发老大要求通过binlog查询一条被修改的数据,数据被查出后问我,有没有可能binlog中不会记录,回答不会,因为数据被修改,若失败直接回滚,不会在binlog中记录,此刻一个朋友用了洪荒之力告诉我 ...
- Storm任务提交过程及目录树介绍
目录 前言: 1.Storm 任务提交的过程 2.Storm相关的目录树 总结: 目录 前言: 对于任何一个组件来说,了解它相关的任务提交的过程是非常有必要的(毕竟生产中遇到一些Bug时,你如果知道内 ...
- git 代码提交过程
一.git 代码提交过程 git log 查看git合入的记录 git pull从服务器重新拉代码,将本地代码更新为服务器上的最新代码 git status查看本地代码状态,是否有待提交的代码 git ...
- Spark源码阅读——任务提交过程
2019独角兽企业重金招聘Python工程师标准>>> Spark 源码阅读--任务提交过程 当我们在使用spark编写mr作业是,最后都要涉及到调用reduce,foreach或者 ...
- mysql 提交事务_MySQL事务提交过程
一.MySQL事务提交过程(一) MySQL作为一种关系型数据库,已被广泛应用到互联网中的诸多项目中.今天我们来讨论下事务的提交过程. 由于mysql插件式存储架构,导致开启binlog后,事务提交实 ...
最新文章
- 基于MMSeg算法的中文分词类库
- Android Listview 点击item变黄色
- 计算机运维知识题库,(哭求哥哥姐姐帮助一下)计算机维护笔试题库(辛苦了)...
- OSTU大律法二值化原理
- SQL约束脚本的用法
- 我是如何学会不再担心和喜欢SQL中的NULL的
- python子窗口返回数据给主窗口_Python Scrapy,从子页面返回进行抓取
- 【讨论】测试工程师能否作为一份终生职业?30岁+怎么办?
- 《HTML5和CSS3快速参考》——第1章 走进HTML51.1 概述
- eight后缀勒索病毒百胜系统数据库成功恢复
- 【Codecs系列】X265编码器(六):lookahead模块分析
- 必须重启计算机才能关闭用户账户控制,Win10系统怎么彻底关闭用户帐户控制?...
- Default changeset implementation allows only one operation
- win10 软路由_超小软路由Nanopi R2S折腾记
- 项目实践系列-点击生成自定义设置的二维码
- 谈谈我对协议栈设计和架构的理解
- word中图片排版问题
- 2015年计算机网络考研真题及解析
- python:私有属性
- 关联分析——Apriori算法
热门文章
- FIR滤波器设计(包括Verilog HDL设计以及MATLAB设计)
- 【C++】decltype作用探究,unsigned与signed混淆问题
- SHOW PROCESSLIST 命令详解 (查看锁表)
- cacti 添加redis监控(远程服务器)
- 优先队列 堆实现 java
- 硬件信息统计_读取输出Excel_显示进度
- oracle 常用命令大汇总
- ADC和DAC常用技术术语
- logo语言linux,用 screenfetch 和 linux_logo 显示带有酷炫 Linux 标志的基本硬件信息
- oracle表结构修改回滚,87.Oracle数据库SQL开发之 修改表内存——数据库事务的提交和回滚...