MapRdeuce&Yarn的工作机制(YarnChild是什么)
MapRdeuce&Yarn的工作机制
那天在集群中跑一个MapReduce的程序时,在机器上jps了一下发现了每台机器中有好多个YarnChild。困惑什么时YarnChild,当程序跑完后就没有了,神奇。后来百度了下,又问问了别的大佬。原来是这样
什么是YarnChild:
答:MrAppmaster运行程序时向resouce manager 请求的maptask/reduceTask。也是运行程序的容器。其实它就是一个运行程序的进程。
图解说下:
hadoop1版本的MapRdeuce&Yarn的工作机制
1.客户端发来request。JobTracker接受request。
2.JobTracker将客户端发来的request任务分配给TaskTracker
3.然后TaskTracker生成maptask运行程序
4.JobTracker不仅要负责资源调度,还要负责监控应运运算流程。
缺点:耦合的高,当JobTracker死掉时,所有的客户端的请求任务都会死掉,而hadoop2则避免了这个问题,它中的对象多,但都各司其职,耦合的低,运行效率快。
hadoop2版本的MapRdeuce&Yarn的工作机制
1.客户端发出请求,YARNRUNNER接受,生成一个代理对象,向resource manager请求一个application
2.resource manager返回application的提交路径和application_id(这里使用id是应为可能有多个任务用id来区别)
3.YARNRUNNER向hdfs提交job运行所需要的文件(application,job.split,job,.xml,job.jar)
4.向resource manager 报告提交完成,申请一个mrAppMaster
5.将用户的请求初始化成一个task,将task放到队列中,等待node manager来领取task任务。(这其中使用了调度策略,节约资源,如:Fair Capacity等等)
6.node manager领取到任务,
7.生成一个Container,然后在hdfs中下载运行资源。
8.向resource manager申请运行maptask的容器(带着任务,split,运行资源.的元数据..)
9.其他的node manager领取到resouce manager的任务,创建容器,此时的Container则是YarnChild,也是maptask,然后maptask在hdfs下载所要运行的资源。
10.MrAppMaster发送程序脚本运行jar,当maptask中的程序运行完成后,maptask的资源被resource manager回收了,但跑完的资源在node manager中。
11.当maptask运行完成后MRAppmaster又向resorce manager申请 reduce task(至于它申请多少个是由它有多少个map task决定的),然后根据忙于不忙node manager领取任务.创建container,
12.redcuetask 向map获取相应分区的数据资源,运行文件。
13.application运行完毕后MrAppmaster会向resource manager注销自己
总结:Yarn:资源调度系统(jar/xml/cpu/IO)
负责程序运行所需资源的分配回收等任务调度,于程序运行内部即使完全无关,所以yarn只是一个寺院调度平台,mapreudce 则是一个运行技术框架,那别的运算框架也可以使用yarn,如:spark/storm/flink....
MapRdeuce&Yarn的工作机制(YarnChild是什么)的更多相关文章
- yarn/mapreduce工作机制及mapreduce客户端代码编写
首先需要知道的就是在老版本的hadoop中是没有yarn的,mapreduce既负责资源分配又负责业务逻辑处理.为了解耦,把资源分配这块抽了出来,形成了yarn,这样不仅mapreudce可以用yar ...
- Yarn 工作机制
1.工作机制详述 (1)MR程序提交到客户端所在的节点. (2)YarnRunner向ResourceManager申请一个Application. (3)RM将该应用程序的资源路径返回给YarnRu ...
- MapReduce的工作机制
<Hadoop权威指南>中的MapReduce工作机制和Shuffle: 框架 Hadoop2.x引入了一种新的执行机制MapRedcue 2.这种新的机制建议在Yarn的系统上,目前用于 ...
- Hadoop MapReduce 一文详解MapReduce及工作机制
@ 目录 前言-MR概述 1.Hadoop MapReduce设计思想及优缺点 设计思想 优点: 缺点: 2. Hadoop MapReduce核心思想 3.MapReduce工作机制 剖析MapRe ...
- Spark工作机制简述
Spark工作机制 主要模块 调度与任务分配 I/O模块 通信控制模块 容错模块 Shuffle模块 调度层次 应用 作业 Stage Task 调度算法 FIFO FAIR(公平调度) Spark应 ...
- MapReduce工作机制——Word Count实例(一)
MapReduce工作机制--Word Count实例(一) MapReduce的思想是分布式计算,也就是分而治之,并行计算提高速度. 编程思想 首先,要将数据抽象为键值对的形式,map函数输入键值对 ...
- Hadoop的namenode的管理机制,工作机制和datanode的工作原理
HDFS前言: 1) 设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: 2)在大数据系统中作用: 为各类分布式运算框架(如:mapr ...
- Hadoop记录-MRv2(Yarn)运行机制
1.MRv2结构—Yarn模式运行机制 Client---客户端提交任务 ResourceManager---资源管理 ---Scheduler调度器-资源分配Containers ----在Yarn ...
- MapReduce1 工作机制
本文转自:Hadoop MapReduce 工作机制 工作流程 作业配置 作业提交 作业初始化 作业分配 作业执行 进度和状态更新 作业完成 错误处理 作业调度 shule(mapreduce核心)和 ...
随机推荐
- Domain Driven Development相关概念
Entity 与 Value Object1,Entity有唯一的身份标识,是可变的对象.Value Object是immutable,创建了就不能改变.2,Value Object可以在多个领域之间 ...
- openshift 容器云从入门到崩溃之五《部署应用》
1.配置部署模板 配置好用户权限之后就可以部署应用了oc常用的两种部署方式: Deploy Image方式 优点:这种方式是最简单的部署方式,你只需要有一个容器镜像就行了或者公开的docker hub ...
- 【Go语言】基本的语法
昨天花了几个小时的时间把Go的语法过了一遍,发现Go语言的语法核心和大部分编程语言的规则还是挺相近的,差别的就是不同的书写规范.还有就是前天安装VScode编译器那个插件把人弄得恶心了,总是安装不成功 ...
- 说一说javascript的异步编程
众所周知javascript是单线程的,它的设计之初是为浏览器设计的GUI编程语言,GUI编程的特性之一是保证UI线程一定不能阻塞,否则体验不佳,甚至界面卡死. 所谓的单线程就是一次只能完成一个任务, ...
- 前端学习历程--localstroge
一. localstorage的特性 1.需要ie8+ 2.浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换 3.local ...
- Django框架详细介绍---模型---ORM
一.概述 ORM(Object Relational Mapping),全称:对象关系映射,简单的说就是通过创建类.实例化出对象的方法,使得类.对象.对象的属性能够和数据库中的表.记录.字段意义对应. ...
- Gradle引人注目的特性集
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具.它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML.当前其支持的语言限于Java. ...
- 解决mysql中文乱码问题?
mysql是我们项目中非常常用的数据型数据库.但是因为我们需要在数据库保存中文字符,所以经常遇到数据库乱码情况.下面就来介绍一下如何彻底解决数据库中文乱码情况. 1.中文乱码 1.1.中文乱码 cre ...
- vue scoped 深度作用选择器
如果你希望 scoped 样式中的一个选择器能够作用得“更深”,例如影响子组件,你可以使用 >>> 操作符: <style scoped> .a >>> ...
- k-means算法 - 数据挖掘算法(5)
(2017-05-02 银河统计) k-means算法,也被称为k-平均或k-均值,是数据挖掘技术中一种广泛使用的聚类算法. 它是将各个聚类子集内的所有数据样本的均值作为该聚类的代表点,算法的主要思想 ...