Hadoop MapReduce2.0(Yarn)
版权声明:本文为博主原创文章,未经博主同意不得转载。
https://blog.csdn.net/cqboy1991/article/details/25056283
MapReduce2.0(Yarn)
MapReduce2.0是在Hadoop0.23開始採用的,叫做MapReduce2.0或者MRv2或者Yarn。
MRv2的主要思想是把jobtracker的任务分为两个基本的功能。一个是资源管理,一个是任务监控,这两个任务分别用不同的进程来执行。这个想法使拥有一个全局的资源管理器(ResourceManager)和每一个应用程序的应用程序管理器(ApplicationMaster)。一个应用程序要么使用传统的MapReduce任务来执行,要么以DAG形式的任务来执行。
ResourceManager和每一个节点(NodeManager)组成了处理数据的框架,ResourceManager是整个系统资源的终于决策者。实际上,每一个应用程序的ApplicationMaster是框架详细的Lib。它的任务是从ResourceManager出获得资源,并在NodeManager上执行和监控任务。
ResourceManager有两个基本的组件:调度器(Schedule)和应用程序管理器(ApplicationManager)。
调度器(Schedule)负责分配资源到各种各样正在执行的应用程序中。调度器不执行监控和跟踪应用程序的状态。在这个意义上说。它是纯粹的调度器。此外。它也不保证重新启动失败的任务。调度器是基于资源的请求来执行它的调度功能的,它是基于资源容器的抽象概念的,这样的资源容器包含内存、cpu、磁盘、网络等。在第一个版本号中仅仅支持内存。调度器支持可插入的策略,
ApplicationManager负责接送提交的作业,协商第一个执行该任务的容器,并提供失败作业的重新启动。
NodeManager是每一个节点的框架代理。它负责监控资源的使用情况。并报告给ResourceManager.
每一个应用的ApplicationMaster 负责与调度器谈判资源占用的containers数量。追踪状态和监控进程。
过程是:
client提交一个Application到Yarn Resource Manager,client通过ClientRMProtocol和ResourceManager通讯。首先通过getNewApplication请求,获得一个ApplicationId。之后便能够通过submitApplication提交Application。在调用submitApplication时,client须要向ResourceManager提供充足的信息,这些信息用于载入第一次执行该程序的container,the ApplicationMaster。程序须要提供的信息包含本地文件、jars包、执行时须要的命令。及Unix环境设计等。之后Yarn ResourceManager在已经分配的container中载入ApplicationMaster。
之后ApplicationMaster通过AMRMProtocol和ResourceManager通信。
首先。ApplicationMaster须要注冊到ResourceManager中,为了完毕分配给它的任务。ApplicationMaster之后便通过AMRMProtocol请求和接收containers,一旦一个container被分配给它。ApplicationMaster便和NodeManager通信,调用ContainerManager.startContainer去载入container。在载入container时,ApplicationMaster须要指定ContainerLaunchContext,ContainerLaunchContext和ApplicationSubmissionContext比較类似。它含有载入信息。当任务完毕时,ApplicationMaster通过AMRMProtocol.finishApplicationMaster通知ResourceManager。
同一时候。clientResourceManager来监控Application的状态,或者直接通过ApplicationMaster来了解程序的状态。client也能够通过ClientRMProtocol.forceKillApplication来终止程序执行。
Hadoop MapReduce2.0(Yarn)的更多相关文章
- Hadoop记录-MRv2(Yarn)运行机制
1.MRv2结构—Yarn模式运行机制 Client---客户端提交任务 ResourceManager---资源管理 ---Scheduler调度器-资源分配Containers ----在Yarn ...
- 由“Beeline连接HiveServer2后如何使用指定的队列(Yarn)运行Hive SQL语句”引发的一系列思考
背景 我们使用的HiveServer2的版本为0.13.1-cdh5.3.2,目前的任务使用Hive SQL构建,分为两种类型:手动任务(临时分析需求).调度任务(常规分析需求),两者均通过我们的 ...
- Hadoop阅读笔记(一)——强大的MapReduce
前言:来园子已经有8个月了,当初入园凭着满腔热血和一脑门子冲动,给自己起了个响亮的旗号“大数据 小世界”,顿时有了种世界都是我的,世界都在我手中的赶脚.可是......时光飞逝,岁月如梭~~~随手一翻 ...
- Hadoop系列之(二):Hadoop集群部署
1. Hadoop集群介绍 Hadoop集群部署,就是以Cluster mode方式进行部署. Hadoop的节点构成如下: HDFS daemon: NameNode, SecondaryName ...
- Hadoop框架基础(五)
** Hadoop框架基础(五) 已经部署了Hadoop的完全分布式集群,我们知道NameNode节点的正常运行对于整个HDFS系统来说非常重要,如果NameNode宕掉了,那么整个HDFS就要整段垮 ...
- Hadoop 框架基础(四)
** Hadoop 框架基础(四) 上一节虽然大概了解了一下 mapreduce,徒手抓了海胆,不对,徒手写了 mapreduce 代码,也运行了出来.但是没有做更深入的理解和探讨. 那么…… 本节目 ...
- Hadoop框架基础(三)
** Hadoop框架基础(三) 上一节我们使用eclipse运行展示了hdfs系统中的某个文件数据,这一节我们简析一下离线计算框架MapReduce,以及通过eclipse来编写关于MapReduc ...
- Hadoop框架基础(一)
** Hadoop框架基础(一) 学习一个新的东西,传统而言呢,总喜欢漫无目的的扯来扯去,比如扯扯发展史,扯扯作者是谁,而我认为这些东西对于刚开始接触,并以开发为目的学者是没有什么帮助的,反而 ...
- 阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建
准备: 两台配置CentOS 7.3的阿里云ECS服务器: hadoop-2.7.3.tar.gz安装包: jdk-8u77-linux-x64.tar.gz安装包: hostname及IP的配置: ...
随机推荐
- jmert中如何测试上传文件接口(测试上传excel文件)
第一次用jmeter这个工具测试上传接口,以前没做过这一块,导致走了很多弯路.特地把经验谢谢,怕自己以后忘记... 一,jmeter如何上传文件 jmeter 的 http requests post ...
- MongoDB基本命令总结
其实一直想整理下我常使用的MongoDB数据库的一些操作命令,终于有时间了~ MongoDB是一种开源的,免费的非关系型数据库(NoSql),不存在表.记录等概念,与通常的关系型数据库有些差异: Mo ...
- 【SoftwareTesting】Homework2
For the Program1, For Question1: The fault is that in the loop condition, ' i ' should be not less t ...
- AutoCAD 2019.0.1 Update 官方简体中文版
欧特克三维机械设计软件AutoCAD 2019版本于2018年3月23号全球正式发布,新版本图标全新设计,视觉效果更清晰:在功能方面,全新的共享视图功能.DWG文件比较功能:现在打开及保存图形文件已经 ...
- 使用datepicker和uploadify的冲突解决(IE双击才能打开附件上传对话框)
在开发的过程当中,IE的兼容无疑是我们的一块绊脚石,在我们使用的如期的datepicker插件和使用上传附件的uploadify插件的时候,两者就产生冲突,只要点击过时间的插件,uploadify上传 ...
- 移动端设备中1px适配
方式1:伪类+transform实现,主要用transform中的scale缩放,缩放默认中心点是以x,y轴的50%处,因此需要用transform-origin调整中心点 html代码: <d ...
- sklearn中树模型可视化的方法
在机器学习的过程中,我们常常会用到树模型的方式来解决我们的问题.在工业界,我们不仅要针对某个问题利用机器学习的方法来解决问题,而且还需要能力解释其中的原理或原因.今天主要在这里记录一下树模型是怎么做可 ...
- 关于windows映射网络驱动器,登录时重新连接
如果想登录系统后映射盘符还在,但是不自动连接,则参考下面方法.方法其实很简单,关键的步骤是:登录共享的时候,登录界面取消选中“保存凭据”,然后映射的时候,选择“下次开机是重新连接” 这样,下次开机的时 ...
- jQuery中有关each方法的使用
概述: each() 方法规定为每个匹配元素规定运行的函数. 返回 false 可用于及早停止循环,相当于break. 返回 true 可以结束本次循环,相当于continue. 语法: $(sele ...
- div不固定高度垂直居中
父容器的css属性 display:table;overflow:hidden;子容器的css属性 vertical-align:middle;display:table-cell; <!DOC ...