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的配置: ...
随机推荐
- c#@三种作用
以前只知道@在C#中为了写文件路径的\不要加转义符而在前面加上@标识符,没想到@还有其他的作用 1.忽略转义字符例如string fileName = "D:\\文本文件\\text.txt ...
- clusterware启动顺序——CRSD
CRSD层面 1.启动过程 )导致">CRSD无法启动集群的应用程序资源的可能原因有:"> 原因:/etc/oracle/ocr.loc指向了错误的OCR文件 [gri ...
- mongo的runCommand与集合操作函数的关系
除了特殊注释外,本文的测试结果均基于 spring-data-mongodb:1.10.6.RELEASE(spring-boot-starter:1.5.6.RELEASE),MongoDB 3.0 ...
- RPC 知识科普一下
RPC概念及分类 RPC全称为Remote Procedure Call,翻译过来为“远程过程调用”.目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用 ...
- oraclesql语句笔记
1. ORA-00947:Not enough values 原因:values没有写足够的值与select()中的字段对应 2.查看一张表中共有多少个字段 select count(*) from ...
- makefile笔记2 - makefile总述
一.makefile的组成 Makefile 里主要包含了五个东西:显示规则.隐晦规则.变量定义.文件指示和注释. 1. 显示规则.显示规则说明了,如何生成一个或多的的目标文件.这是由 Makefil ...
- 第一次 刷 WiFi 模块esp8266 感谢创客阿正
在正哥指导下 第一次 刷 WiFi 模块 少走了 不少弯路 套件里的 两块 机智云 ==== 我的电脑 需要单独供电 先 对应 接好 ic0要记得接gnd 等待上电时要断电重启 等 用助手 返回 ...
- https加密流程
引用其它博主博客,在这里谢谢这位博主,原博客地址:https://blog.csdn.net/xincai/article/details/51954468 1,下面,用一幅图展示一下https建立 ...
- re模块基本用法和字符集
import re # . 能够替代任意字符 r= re.findall("a..c","abbcsd") print(r) # ^ 找最前面的 r_1 = r ...
- 《贝贝GO》隐私政策
隐私政策 贝贝GO尊重并保护所有使用服务用户的个人隐私权.为了给您提供更准确.更有个性化的服务,贝贝GO会按照本隐私权政策的规定使用和披露您的个人信息.但贝贝GO将以高度的勤勉.审慎义务对待这些信息. ...