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的配置: ...
随机推荐
- Python之file方法
def fileno(self): # 文件描述符 def flush(self): # 刷新文件内部缓冲区 def isatty(se ...
- 2D 加速图形界面开发源代码亲写 想买来学习得加qq 313244484 20万当前代码,完整400万包写完
#include "StdAfx.h" #include "GUIFrame.h" #include <stdlib.h> #include < ...
- jmeter之headers中的Content-Type.
jmeter在发送http post请求时,会把body 里的数据格式给携带上(最好携带上),一般在信息头里增加.另因一篇文章.感觉写的非常好.https://imququ.com/post/fou ...
- U盘安装kali中CDROM问题解决
1,采用ultraISO 制作Kali的安装盘,无法安装.U盘不能被识别. 2,改用win32diskimager,能识别了,但期间出现CDROM找不到. 3,采用网上方式,ALT+ F2,ls /d ...
- sdl2在vs2012上的配置
网上关于sdl2的配置教程很多,我尽量将我遇到的问题分享给大家. 首先,打开VS2012: 2.点击新建项目:选择空项目,确定即可 (文件名,保存位置,解决方案名称,可以随便填,(我取名为sdlpla ...
- 2018-2019-1 20165318 20165326 实验五 通讯协议设计.md
目录 实验内容 问题及解决 参考资料 实验内容 任务一 在Ubuntu中完成作业 openSSL OpenSSL是一个SSL协议的开源实现,采用C语言作为开发语言,具备了跨平台的能力,支持Unix/L ...
- TCP 总结
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义. [TCP连接的特点] [ref ...
- 利用toggle实现背包
1.先创建入如图所示界面 2.在图片下面创建一个选中状态图片 3.在normal图片添加toggle组件,将子物体拖动到graphic里
- html 使表格随着内容自动适应宽度
所谓难而不会,会儿不难.这个问题让我纠结了很长时间,一句css解决了,仅仅靠一个属性 td { white-space: nowrap; } from:http://blog.csdn.net/liu ...
- neutron基础一(网络基本命令)基本命令,包括veth peer
ip addr ip link tcpdump -i veth1 -e -v route -n ip route arp ethtool -S veth0 ip link add type veth ...