作业提交过程简单的分为 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相关推荐

  1. 大数据培训课程Yarn资源调度器作业提交全过程

    作业提交全过程 1.作业提交过程之YARN,如图4-25所示. 大数据培训课程 图4-25 作业提交过程之Yarn 作业提交全过程详解 (1)作业提交 第1步:Client调用job.waitForC ...

  2. Hadoop作业提交分析(三)

    http://www.cnblogs.com/spork/archive/2010/04/12/1710294.html 通过前面两篇文章的分析,对Hadoop的作业提交流程基本明了了,下面我们就可以 ...

  3. Hadoop作业提交分析(五)

    经过上一篇的分析,我们知道了Hadoop的作业提交目标是Cluster还是Local,与conf文件夹内的配置文件参数有着密切关系,不仅如此,其它的很多类都跟conf有关,所以提交作业时切记把conf ...

  4. 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 阶段 ...

  5. hadoop2 作业执行过程之作业提交

    hadoop2.2.0.centos6.5 hadoop任务的提交常用的两种,一种是测试常用的IDE远程提交,另一种就是生产上用的客户端命令行提交 通用的任务程序提交步骤为: 1.将程序打成jar包: ...

  6. Hadoop(十二):从源码角度分析Hadoo是如何将作业提交给集群的

    为什么80%的码农都做不了架构师?>>>    一:MapReduce提交作业过程的流程图 通过图可知主要有三个部分,即: 1) JobClient:作业客户端. 2) JobTra ...

  7. Hadoop入门(十二)Intellij IDEA远程向hadoop集群提交mapreduce作业

    Intellij IDEA远程向hadoop集群提交mapreduce作业,需要依赖到hadoop的库,hadoop集群的配置信息,还有本地项目的jar包. 一.软件环境 (1)window本地安装h ...

  8. 【Hadoop代码笔记】Hadoop作业提交之客户端作业提交

    1.      概要描述 仅仅描述向Hadoop提交作业的第一步,即调用Jobclient的submitJob方法,向Hadoop提交作业. 2.      详细描述 Jobclient使用内置的Jo ...

  9. YARN作业提交流程剖析

    YARN(MapReduce2) Yet Another Resource Negotiator / YARN Application Resource Negotiator 对于节点数超出4000的 ...

最新文章

  1. kerberos简单介绍
  2. 微信小程序尝鲜一个月现状分析
  3. python生成序列数(1-10)的立方列表_Python 4.3 创建数值列表(动手试一试)
  4. 4.使用pnglib读写png图片
  5. mysql 树表查询所有子节点
  6. abp vue如何配置服务地址_DHCP服务如何配置才能尽量减少被攻击的可能
  7. Qt 图形特效(Graphics Effect)介绍
  8. 怎么挖linux内核的漏洞,linux内核漏洞分析实战看看专家是怎么一步步...-卓优商学院问答...
  9. tensorflow之交叉熵
  10. 深度学习pytorch基础入门教程(1小时)-神经网络
  11. 使用Android Studio 创建第一个Android 应用
  12. REWORK读书笔记
  13. 交叉编译wpa_supplicant常见问题总结
  14. 微信小程序+SpringBoot实现校园快递代收平台
  15. html如何将网页分割开来,发现pdf文件页面内容太多,怎么把页面拆分开来?
  16. 凌晨4点的中国人都在干什么?这份数据可视化地图给你答案
  17. 数据管理篇之存储和成本管理
  18. mysql之表与表之间的关系
  19. DX11小知识1-Direct 3D
  20. Emscripten的研究与学习 --- 初探Emscripten

热门文章

  1. 【leetcode】940. Distinct Subsequences II
  2. hadoop环境准备-大数据Week5-DAY6-1-hadoop
  3. 《强化学习》中的时序差分控制:Sarsa、Q-learning、期望Sarsa、双Q学习 etc.
  4. 基础入门_Python-模块和包.深入SQLAlchemy之事务回滚与反射还原对象?
  5. C#笔记12 自定义集合和常用集合
  6. avd android 5.1,Kotlin开发进阶
  7. 当子元素设置position absolute的时,父元素必须设置position属性
  8. 7.PL_SQL——在PL_SQL程序中内嵌查询语句、DML语句、事物处理语句和游标属性
  9. mysql switch binlog_TiDB binlog实时同步数据到下游Kafka
  10. stored_outline优化稳定执行计划