从Hadoop的0.23版本号,MapReduce进行了全面的彻底的变革。也就是我们今天看到的MapReduce 2.0或者我们也能够叫它YARN.

老版本号的JobTracker有两个基本的功能:资源管理、任务调度与监控。

Yarn的思路就是把这两个功能进行拆分,分别交给两个独立进程进行维护。这两个进程各自是ResourceManager进程和ApplicationMaster进程。

ApplicationMaster进程是每一个Job一个。

RM和NM两种角色构成了Hadoop集群的计算框架。

RM对全部Job的资源申请具有终于的决定权。

ApplicationMaster进程负责从RM获得资源,并与NM一起运行监控tasks.

RM有两个基本的组件:Sheduler、ApplicationManager

Sheduler负责给执行的程序分配资源(存储容量、队列等)。Sheduler仅仅管调度,无论应用程序的状态。即便是应用程序由于种种原因失败了。也和他没有关系。Sheduler依据每一个程序对资源的申请来进行调度。

resourceContainer是一个新抽象的概念,它是内存、CPU、磁盘、网络等资源的抽象集合,第一版仅仅支持了内存。

Sheduler以resourceContainer为单位进行资源分配。

Scheduler在设计上採用了插件的策略,CapacityScheduler 和FairScheduler
就是Scheduler的两个插件。

类似于Eclipse,扩展起来easy吧?

CapacityScheduler 支持分层次队列,该功能使得它能够分配很多其它的集群资源(分配那些未来会被释放的资源)

ApplicationsManager 负责接收提交的任务,找到运行任务的ApplicationMaster
的容器,在容器失败的情况下,对容器进行重新启动。

NodeManager 是个client程序,提供ApplicationsManager
执行须要的容器,并对所在机器的资源(CPU、内存、磁盘、网络)进行监控,并把监控结果汇报给 ResourceManager/Scheduler.

ApplicationMaster 从Scheduler获得资源。跟踪任务的状态和运行进度。

MRV2与老版本号的稳定版的MR兼容性,旧的版本号MR编译再来看看新的集群方案可以被执行。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

YARN简短的建筑的更多相关文章

  1. Golang, 以17个简短代码片段,切底弄懂 channel 基础

    (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...

  2. 大数据之Yarn——Capacity调度器概念以及配置

    试想一下,你现在所在的公司有一个hadoop的集群.但是A项目组经常做一些定时的BI报表,B项目组则经常使用一些软件做一些临时需求.那么他们肯定会遇到同时提交任务的场景,这个时候到底如何分配资源满足这 ...

  3. [大数据之Yarn]——资源调度浅学

    在hadoop生态越来越完善的背景下,集群多用户租用的场景变得越来越普遍,多用户任务下的资源调度就显得十分关键了.比如,一个公司拥有一个几十个节点的hadoop集群,a项目组要进行一个计算任务,b项目 ...

  4. Node.js包管理器Yarn的入门介绍与安装

    FAST, RELIABLE, AND SECURE DEPENDENCY MANAGEMENT. 就在昨天, Facebook 发布了新的 node.js 包管理器 Yarn 用以替代 npm .咱 ...

  5. 03 Yarn 原理介绍

    Yarn 原理介绍 大纲: Hadoop 架构介绍 YARN 产生的背景 YARN 基础架构及原理   Hadoop的1.X架构的介绍   在1.x中的NameNodes只可能有一个,虽然可以通过Se ...

  6. sort()基础知识总结+超简短的英文名排序写法

    结合前些天学的箭头函数我想到一种非常简短的sort排序写法:(这可能是最短的英文名排序方法了) 贴出来大家一起探讨一下: [4,1,2,32].sort((x,y)=>x>y); //[1 ...

  7. Spark on YARN的部署

    Spark on YARN的原理就是依靠yarn来调度Spark,比默认的Spark运行模式性能要好的多,前提是首先部署好hadoop HDFS并且运行在yarn上,然后就可以开始部署spark on ...

  8. yarn关于app max attempt深度解析,针对长服务appmaster平滑重启

    在YARN上开发长服务,需要注意fault-tolerance,本篇文章对appmaster的平滑重启的一个参数做了解析,如何设置可以有助于达到appmaster平滑重启. 在yarn-site.xm ...

  9. Spark源码编译并在YARN上运行WordCount实例

    在学习一门新语言时,想必我们都是"Hello World"程序开始,类似地,分布式计算框架的一个典型实例就是WordCount程序,接触过Hadoop的人肯定都知道用MapRedu ...

随机推荐

  1. WebKit介绍和总结(一)

    一 . WebKit 简单介绍 Webkit 是一个开放源码的浏览器引擎 (web browser engine) ,最初的代码来自 KDE 的 KHTML 和 KJS( 均开放源码 ) . 苹果公司 ...

  2. 谷歌Web中国开发手册:1目的&夹

    原版的:https://developers.google.com/web/fundamentals/getting-started/your-first-multi-screen-site/ 该网站 ...

  3. Windows Phone开发(23):启动器与选择器之CameraCaptureTask和PhotoChooserTask

    原文:Windows Phone开发(23):启动器与选择器之CameraCaptureTask和PhotoChooserTask 这两个组件都属于选择器,而且它们也有很多相似的地方,最明显的上一点, ...

  4. vultr centos x64 6.5.x 升级php7.0

    升级前,先卸载 php5.6.x 卸载php5.6.2 从cent 6.5.x 需要卸载: yum remove php56u-mysqlnd-5.6.20-1.ius.centos6.x86_64 ...

  5. Sandcastle生成帮助文档

    http://www.cnblogs.com/net515/p/3311584.html Sandcastle帮助文档生成器使用介绍 一.软件介绍       Sandcastle是一个管理类库的文档 ...

  6. jQuery来源学习笔记:扩展的实用功能

    // 扩展的实用功能 jQuery.extend({ // http://www.w3school.com.cn/jquery/core_noconflict.asp // 释放$的 jQuery 控 ...

  7. java: org.luaj.vm2.LuaError:XXX module not found lua脚本初始化出错(转)

    我遇到这个错误是因为在引用脚本目录时,设置错了位置.设置成脚本所在目录的上级目录. lua使用和加载初始化方法 在java中使用lua,使用需要引用 luaj-jse-2.0.2.jar 同时需要使用 ...

  8. java.lang.ClassFormatError

    Error occurred during initialization of VMjava.lang.ClassFormatError: Unknown constant tag 26 in cla ...

  9. dev layoutControl 控件使用

    对于排版控件,用微软的方法都是先拉 label再拉一个 Textbox  ,  虽然微软的控件了有类似于 EXCEL的单元格全并功能,但用起来使终不方便, 今天研究了一下 DEV 的这个控件,比微软的 ...

  10. 解决mysqldb查询大量数据导致内存使用过高的问题

    1.源码 connection=MySQLdb.connect( host="thehost",user="theuser", passwd="the ...