hadoop的作业提交过程之yarn
作业提交过程简单的分为 6 步
(1)作业提交
第0步:client调用job.waitForCompletion方法,向整个集群提交MapReduce作业
第1步:client向RM(ResourceManager)申请(application)一个作业id
第2步:RM给client返回该job的资源的提交路径和作业id。
第3步:client提交jar包、切片信息和配置文件到指定的资源提交路径(job运行所需的资源)。
第4步:client提交完资源后,向RM申请运行MRAPPMaster(MrAppMaster)。
(2)作业初始化
第5步:当RM收到client的请求后,将该job添加到容量调度器(capacity scheduler)中。(RM将用户的请求初始化为一个task(作业))
第6步:某一个空闲的NM(nodeManager)领取到该job。
第7步:该NM创建Container,并产生MRAppMaster (MrAppMaster)。
第8步:下载client提交的资源到本地。
(3)任务分配
第9步:MRAppMaster向RM申请多个maptask任务资源。
第10步:RM将运行maptask任务分配给另外两个NodeManager,两个NodeManager分别领取任务并创建容器
(4)任务运行
第11步:MRAppMaster向两个接收到任务的NodeManager发送程序启动脚本,这两个NodeManager分别启动maptask,maptask对数据分区排序。
第12步:MRAppMaster等待所有的maptask运行完毕后,向RM申请容器,运行reduce task
第13步:reduce task向maptask获取相应分区数据。
第14步:程序运行完毕后,MRAppMaster会向RM申请注销自己。
(5)进度和状态更新
YARN中的任务将其进度包括状态(包括counter)返回给应用管理器,客户端每秒(通过mapreduce.client.programpollinterval设置)向应用管理器请求进度更新,展示给用户。
(6)作业完成
除了向应用管理器请求作业进度外,客户端每5分钟都会通过调用waitForcompletion()来检查作业是否完成。时间间隔可以通过mapreduce.client.completion.pollinterval来设置。作业完成之后,应用管理器和container会清理工作状态。作业的信息会被作业历史服务器存储以备之后用户核查
hadoop的作业提交过程之yarn相关推荐
- 大数据培训课程Yarn资源调度器作业提交全过程
作业提交全过程 1.作业提交过程之YARN,如图4-25所示. 大数据培训课程 图4-25 作业提交过程之Yarn 作业提交全过程详解 (1)作业提交 第1步:Client调用job.waitForC ...
- Hadoop作业提交分析(三)
http://www.cnblogs.com/spork/archive/2010/04/12/1710294.html 通过前面两篇文章的分析,对Hadoop的作业提交流程基本明了了,下面我们就可以 ...
- Hadoop作业提交分析(五)
经过上一篇的分析,我们知道了Hadoop的作业提交目标是Cluster还是Local,与conf文件夹内的配置文件参数有着密切关系,不仅如此,其它的很多类都跟conf有关,所以提交作业时切记把conf ...
- Hadoop生态圈(三十三)- YARN架构深入学习
目录 前言 1. YARN框架概述 1.1 YARN产生和发展简史 1.1.1 Hadoop演进阶段 1.1.1.1 阶段0:Ad Hoc集群 1.1.1.2 阶段1:HOD集群 1.1.1.3 阶段 ...
- hadoop2 作业执行过程之作业提交
hadoop2.2.0.centos6.5 hadoop任务的提交常用的两种,一种是测试常用的IDE远程提交,另一种就是生产上用的客户端命令行提交 通用的任务程序提交步骤为: 1.将程序打成jar包: ...
- Hadoop(十二):从源码角度分析Hadoo是如何将作业提交给集群的
为什么80%的码农都做不了架构师?>>> 一:MapReduce提交作业过程的流程图 通过图可知主要有三个部分,即: 1) JobClient:作业客户端. 2) JobTra ...
- Hadoop入门(十二)Intellij IDEA远程向hadoop集群提交mapreduce作业
Intellij IDEA远程向hadoop集群提交mapreduce作业,需要依赖到hadoop的库,hadoop集群的配置信息,还有本地项目的jar包. 一.软件环境 (1)window本地安装h ...
- 【Hadoop代码笔记】Hadoop作业提交之客户端作业提交
1. 概要描述 仅仅描述向Hadoop提交作业的第一步,即调用Jobclient的submitJob方法,向Hadoop提交作业. 2. 详细描述 Jobclient使用内置的Jo ...
- YARN作业提交流程剖析
YARN(MapReduce2) Yet Another Resource Negotiator / YARN Application Resource Negotiator 对于节点数超出4000的 ...
最新文章
- kerberos简单介绍
- 微信小程序尝鲜一个月现状分析
- python生成序列数(1-10)的立方列表_Python 4.3 创建数值列表(动手试一试)
- 4.使用pnglib读写png图片
- mysql 树表查询所有子节点
- abp vue如何配置服务地址_DHCP服务如何配置才能尽量减少被攻击的可能
- Qt 图形特效(Graphics Effect)介绍
- 怎么挖linux内核的漏洞,linux内核漏洞分析实战看看专家是怎么一步步...-卓优商学院问答...
- tensorflow之交叉熵
- 深度学习pytorch基础入门教程(1小时)-神经网络
- 使用Android Studio 创建第一个Android 应用
- REWORK读书笔记
- 交叉编译wpa_supplicant常见问题总结
- 微信小程序+SpringBoot实现校园快递代收平台
- html如何将网页分割开来,发现pdf文件页面内容太多,怎么把页面拆分开来?
- 凌晨4点的中国人都在干什么?这份数据可视化地图给你答案
- 数据管理篇之存储和成本管理
- mysql之表与表之间的关系
- DX11小知识1-Direct 3D
- Emscripten的研究与学习 --- 初探Emscripten
热门文章
- 【leetcode】940. Distinct Subsequences II
- hadoop环境准备-大数据Week5-DAY6-1-hadoop
- 《强化学习》中的时序差分控制:Sarsa、Q-learning、期望Sarsa、双Q学习 etc.
- 基础入门_Python-模块和包.深入SQLAlchemy之事务回滚与反射还原对象?
- C#笔记12 自定义集合和常用集合
- avd android 5.1,Kotlin开发进阶
- 当子元素设置position absolute的时,父元素必须设置position属性
- 7.PL_SQL——在PL_SQL程序中内嵌查询语句、DML语句、事物处理语句和游标属性
- mysql switch binlog_TiDB binlog实时同步数据到下游Kafka
- stored_outline优化稳定执行计划