MapReduce在hadoop-0.23中已经经历了一次全然彻底地大修。就是如今我们叫的MapReduce 2.0 (MRv2) or YARN.

MRv2的基本思想是把JobTracker分成两个基本的功能,资源管理和工作调度/监控。变成独立的进程。有一个全局的ResourceManager (RM)和每一个应用的ApplicationMaster (AM)。一个应用要么是一个典型的Map-Reduce工作,要么是工作的DAG。

ResourceManager 和 每一个从节点, NodeManager
(NM),构成数据计算框架。

在系统中的全部应用中。ResourceManager 有权分配资源。

每一个应用 ApplicationMaster 实际上是一个指定库和协调ResourceManager和NodeManager(s)去运行和监控任务的框架。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGFvemhhb2t1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

ResourceManager 有两个基本的组件:Scheduler 和 ApplicationsManager.

Scheduler 负责分配限定的空间、队列资源给执行中的应用。Scheduler 是一个纯调度器。不去监控或跟踪应用的全部状态。

还有,对于失败任务或硬件失败。它不保证重新启动。 Scheduler 基于应用的资源要求执行它的功能;它这样做是基于包括了如内存。cpu,硬盘,网络等的资源Container,。在第一版中。仅仅支持内存。

Scheduler 有一个可插入式的插件策略,负责在集群资源中切割各类队列,应用等。当前的Map-Reduce调度器如 CapacityScheduler 和 FairScheduler 就是这样的插件的样例。

CapacityScheduler 支持层级队列 同意更可靠的集群资源共享。

ApplicationsManager 负责接受工作提交,协调第一容器来运行指定的ApplicationMaster 应用,而且ApplicationManager容器失败时提供重新启动的服务。

NodeManager 是每台机器框架client。负责管理容器的资源使用(cpu,内存,硬盘。网络)。并报告给 ResourceManager/Scheduler.

每一个应用 ApplicationMaster 负责从Scheduler 协调合适的资源容器,监控他们的状态并管理流程。

MRV2 维护与之前的版本号 (hadoop-0.20.205)间的 API
兼容性 . 这意味着全部的 Map-Reduce jobs 一次编译后就能够在MRv2上运行。


Hadoop-2.2.0中文文档——Apache Hadoop 下一代 MapReduce (YARN)的更多相关文章

  1. Hadoop-2.2.0中文文档—— 从Hadoop 1.x 迁移至 Hadoop 2.x

    简单介绍 本文档对从 Apache Hadoop 1.x 迁移他们的Apache Hadoop MapReduce 应用到 Apache Hadoop 2.x 的用户提供了一些信息. 在 Apache ...

  2. Apache Spark 2.2.0 中文文档

    Apache Spark 2.2.0 中文文档 - 快速入门 | ApacheCN Geekhoo 关注 2017.09.20 13:55* 字数 2062 阅读 13评论 0喜欢 1 快速入门 使用 ...

  3. Apache Storm 1.1.0 中文文档 | ApacheCN

    前言 Apache Storm 是一个免费的,开源的,分布式的实时计算系统. 官方文档: http://storm.apache.org 中文文档: http://storm.apachecn.org ...

  4. Django2.0中文文档

    title: Django2.0中文文档 tags: Python,Django,入沐三分 grammar_cjkRuby: true --- Django2.0版本已经发布了,我们先来看一个图片 从 ...

  5. Apache Spark 2.2.0 中文文档 - Spark 编程指南 | ApacheCN

    Spark 编程指南 概述 Spark 依赖 初始化 Spark 使用 Shell 弹性分布式数据集 (RDDs) 并行集合 外部 Datasets(数据集) RDD 操作 基础 传递 Functio ...

  6. webpack4.0中文文档踩坑记录

    一直没有正儿八经去看过webpack4.0的文档,前段时间工作比较轻松,于是就有了此文...面都这样一个问题:请问在您的开发生涯中,令你最痛苦最无奈的是什么?小生的回答只有一个:“阅读那些令人发指的文 ...

  7. Apache Spark 2.2.0 中文文档 - 概述 | ApacheCN

    Spark 概述 Apache Spark 是一个快速的, 多用途的集群计算系统. 它提供了 Java, Scala, Python 和 R 的高级 API,以及一个支持通用的执行图计算的优化过的引擎 ...

  8. Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets Guide | ApacheCN

    Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession ...

  9. Apache Spark 2.2.0 中文文档 - Structured Streaming 编程指南 | ApacheCN

    Structured Streaming 编程指南 概述 快速示例 Programming Model (编程模型) 基本概念 处理 Event-time 和延迟数据 容错语义 API 使用 Data ...

随机推荐

  1. 开源作品-PHP写的Redis管理工具(单文件绿色版)-SuRedisAdmin_PHP_1_0

    前言:项目开发用到了Redis,但是在调试Redis数据的时候,没有一款通用的可视化管理工具.在网络找了一些,但是感觉功能上都不尽人意,于是决定抽出一点时间,开发一个用起来顺手的Redis管理工具.秉 ...

  2. MatLab之Simulink之simple model

    Use Simulink to model a system and then simulate the dynamic behavior of that system. 1 Open in Comm ...

  3. 删除git上已经提交的文件

    1.先查看有哪些文件可以删除,但是不真执行删除 git rm -r -n job-executor-common/target/* -r  递归移除目录 -n 加上这个参数,执行命令时,是不会删除任何 ...

  4. JavaScript小技巧总结

    JavaScript是一种脚本语言: 语法类似于常见的高级语言 脚本语言,不需要编译就可以由解释器直接运行 变量松散定义 面向对象 JSON是一种数据交换格式,而JSONP是JSON的一种使用模式,是 ...

  5. Ubuntu 16.04安装和卸载软件命令

    安装软件 apt-get install softname1 softname2 softname3…… 卸载软件 apt-get remove softname1 softname2 softnam ...

  6. matlab学习下拉菜单

    用matlab添加listbox控件 修改string和value值,value为几就对应第几行字符串 添加button按钮,将string值改为“选择x轴参数”,字体大小为10 再添加一个按钮,将s ...

  7. BZOJ 3631: [JLOI2014]松鼠的新家 树上差分 + LCA

    Description 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在“树”上.松鼠想邀 ...

  8. Day9 面向对象进阶

    @property装饰器 之前我们讨论过Python中属性和方法访问权限的问题,虽然我们不建议将属性设置为私有的,但是如果直接将属性暴露给外界也是有问题的,比如我们没有办法检查赋给属性的值是否有效.我 ...

  9. 【剑指Offer】52、正则表达式匹配

      题目描述:   请实现一个函数用来匹配包括'.'和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹 ...

  10. matplotlib的annotate用法小结

    这个是matplotlib自定义的annotate方法的文本: 一. def annotate(self, s, xy, *args, **kwargs): a = mtext.Annotation( ...