如何将Hadoop YARN发扬广大

Yet Another Resource Negotiator 简介

带有 MapReduce 的 Apache Hadoop 是分布式数据处理的骨干力量。借助其独特的横向扩展物理集群架构和由 Google 最初开发的精细处理框架,Hadoop 在大数据处理的全新领域迎来了爆炸式增长。Hadoop 还开发了一个丰富多样的应用程序生态系统,包括 Apache Pig(一种强大的脚本语言)和 Apache Hive(一个具有类似 SQL 界面的数据仓库解决方案)。

不幸的是,这个生态系统构建于一种编程模式之上,无法解决大数据中的所有问题。MapReduce 提供了一种特定的编程模型,尽管已通过 Pig 和 Hive 等工具得到了简化,但它不是大数据的灵丹妙药。我们首先介绍一下 MapReduce 2.0 (MRv2) — 或 Yet Another Resource Negotiator (YARN) — 并快速回顾一下 YARN 之前的 Hadoop 架构。

Hadoop 和 MRv1 简单介绍

Hadoop 集群可从单一节点(其中所有 Hadoop 实体都在同一个节点上运行)扩展到数千个节点(其中的功能分散在各个节点之间,以增加并行处理活动)。图 1 演示了一个 Hadoop 集群的高级组件。

图 1. Hadoop 集群架构的简单演示

一个 Hadoop 集群可分解为两个抽象实体:MapReduce 引擎和分布式文件系统。MapReduce 引擎能够在整个集群上执行 Map 和 Reduce 任务并报告结果,其中分布式文件系统提供了一种存储模式,可跨节点复制数据以进行处理。Hadoop 分布式文件系统 (HDFS) 通过定义来支持大型文件(其中每个文件通常为 64 MB 的倍数)。

当一个客户端向一个 Hadoop 集群发出一个请求时,此请求由 JobTracker 管理。JobTracker 与 NameNode 联合将工作分发到离它所处理的数据尽可能近的位置。NameNode 是文件系统的主系统,提供元数据服务来执行数据分发和复制。JobTracker 将 Map 和 Reduce 任务安排到一个或多个 TaskTracker 上的可用插槽中。TaskTracker 与 DataNode(分布式文件系统)一起对来自 DataNode 的数据执行 Map 和 Reduce 任务。当 Map 和 Reduce 任务完成时,TaskTracker 会告知 JobTracker,后者确定所有任务何时完成并最终告知客户作业已完成。

InfoSphere BigInsights Quick Start Edition

InfoSphere BigInsights Quick Start Edition 是 IBM 基于 Hadoop 的产品 InfoSphere BigInsights 的一个免费可下载版本。使用 Quick Start Edition,您可尝试 IBM 开发的特性来扩大开源 Hadoop 的价值,比如 Big SQL、文本分析和 BigSheets。引导式学习可让您的体验尽可能顺畅,包括按部就班、自定进度的教程和视频,可以帮助开始让 Hadoop 为您所用。没有时间或数据限制,您可自行安排时间在大量数据上进行试验。

从 图 1 中可以看到,MRv1 实现了一个相对简单的集群管理器来执行 MapReduce 处理。MRv1 提供了一种分层的集群管理模式,其中大数据作业以单个 Map 和 Reduce 任务的形式渗入一个集群,并最后聚合成作业来报告给用户。但这种简单性有一些隐秘,不过也不是很隐秘的问题。

MRv1 的缺陷

MapReduce 的第一个版本既有优点也有缺点。MRv1 是目前使用的标准的大数据处理系统。但是,这种架构存在不足,主要表现在大型集群上。当集群包含的节点超过 4,000 个时(其中每个节点可能是多核的),就会表现出一定的不可预测性。其中一个最大的问题是级联故障,由于要尝试复制数据和重载活动的节点,所以一个故障会通过网络泛洪形式导致整个集群严重恶化。

但 MRv1 的最大问题是多租户。随着集群规模的增加,一种可取的方式是为这些集群采用各种不同的模型。MRv1 的节点专用于 Hadoop,所以可以改变它们的用途以用于其他应用程序和工作负载。当大数据和 Hadoop 成为云部署中一个更重要的使用模型时,这种能力也会增强,因为它允许在服务器上对 Hadoop 进行物理化,而无需虚拟化且不会增加管理、计算和输入/输出开销。

我们现在看看 YARN 的新架构,看看它如何支持 MRv2 和其他使用不同处理模型的应用程序。

YARN (MRv2) 简介

为了实现一个 Hadoop 集群的集群共享、可伸缩性和可靠性。设计人员采用了一种分层的集群框架方法。具体来讲,特定于 MapReduce 的功能已替换为一组新的守护程序,将该框架向新的处理模型开放。

可在何处找到 YARN?

YARN 是在 hadoop-0.23 版本时引入 Hadoop 中的。随着彻底检查的不断完善,您将会发现此框架也在不断更新。

回想一下,由于限制了扩展以及网络开销所导致的某些故障模式,MRv1 JobTracker 和 TaskTracker 方法曾是一个重要的缺陷。这些守护程序也是 MapReduce 处理模型所独有的。为了消除这一限制,JobTracker 和 TaskTracker 已从 YARN 中删除,取而代之的是一组对应用程序不可知的新守护程序。

图 2. YARN 的新架构

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/webkf/tools/

时间: 2025-01-26 14:05:35

如何将Hadoop YARN发扬广大的相关文章

Hadoop YARN的发展史与详细解析

[编者按]成熟.通用让Hadoop深得大数据玩家喜爱,即使是在YARN出现之前,在流处理框架林立下,Hadoop仍然被众多机构广泛运用在离线处理之上.借鉴于Mesos,MapReduce获得新生,YARN提供了更加优秀的资源管理器,让Storm等流处理框架同样可以运行在Hadoop集群之上:但是别忘记,Hadoop有着远比Mesos成熟的社区.从兴起到唱衰再到兴起,这头搬运大数据的大象已更加成熟.稳重,同时我们也相信,在未来container等属性加入后,Hadoop生态系统必将发扬光大. CS

Hadoop Yarn详解

一.Yarn简介 Yarn是Hadoop集群的资源管理系统.Hadoop2.0对MapReduce框架做了彻底的设计重构,我们称Hadoop2.0中的MapReduce为MRv2或者Yarn.在介绍Yarn之前,我们先回头看一下Hadoop1.x对MapReduce job的调度管理方式(可参考:Hadoop核心之MapReduce架构设计),它主要包括两部分功能: 1. ResourceManagement 资源管理 2. JobScheduling/JobMonitoring 任务调度监控

Hadoop YARN配置参数剖析(4)—Fair Scheduler相关参数

首先在yarn-site.xml中,将配置参数yarn.resourcemanager.scheduler.class设置为org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler. Fair Scheduler的配置选项包括两部分,其中一部分在yarn-site.xml中,主要用于配置调度器级别的参数,另外一部分在一个自定义配置文件(默认是fair-scheduler.xml)中,主要用于配置各个队列的

Hadoop YARN学习监控JVM和实时监控Ganglia、Ambari(5)

Hadoop YARN学习监控JVM和实时监控Ganglia.Ambari(5) 1.0 监控ResourceManager进程Java虚拟机中堆空间的特定部分. jstat工具,在JDK的bin目录,可以显示大量JVM统计信息. 1.1 JVM分析 一个Java虚拟机(JVM)进程被分为3个区(代),具体分为年轻代(young generation).年老代(tenured generation)和持久代(permanent generation) 年轻代被分为三个子区域:Eden(区),第一

Hadoop YARN配置参数剖析(1)—RM与NM相关参数

注意,配置这些参数前,应充分理解这几个参数的含义,以防止误配给集群带来的隐患.另外,这些参数均需要在yarn-site.xml中配置. 1.    ResourceManager相关配置参数 (1) yarn.resourcemanager.address 参数解释:ResourceManager 对客户端暴露的地址.客户端通过该地址向RM提交应用程序,杀死应用程序等. 默认值:${yarn.resourcemanager.hostname}:8032 (2) yarn.resourcemana

Hadoop YARN学习之组件功能简述(3)

Hadoop YARN学习之组件功能简述(3) 1. YARN的三大组件功能简述: ResourceManager(RM)是集群的资源的仲裁者, 它有两部分:一个可插拔的调度器和一个ApplicationManager,用于管理集群中的用户作业. NodeManager,位于每个节点上,管理该节点上用户作业和工作流. ApplicationMaster,用户作业生命周期管理者. 是用户应用程序驻留的地方. 2. 三大组件构成了一个可扩展的.灵活的.高效的环境,来运行各种类型的大数据处理作业. 3

Hadoop YARN中内存和CPU两种资源的调度和隔离

同时支持内存和CPU两种资源的调度(默认只支持内存,如果想进一步调度CPU,需要自己进行一些配置),本文将介绍Hadoop YARN是如何对这些资源进行调度和隔离的. 在YARN中,资源管理由ResourceManager和NodeManager共同完成,其中,ResourceManager中的调度器负责 资源的分配,而NodeManager则负责资源的供给和隔离.ResourceManager将某个NodeManager上资源分配给任务(这就是所 谓的"http://www.aliyun.co

File file:/data1/hadoop/yarn/local/usercache/hp/appcache/application_* does not exi

AM Container for appattempt_1453292851883_0381_000002 exited with exitCode: -1000For more detailed output, check application tracking page:http://hadoop:8088/cluster/app/application_1453292851883_011Then, click on links to logs of each attempt.Diagno

Hadoop YARN学习之Hadoop框架演进历史简述

Hadoop YARN学习之Hadoop框架演进历史简述(1) 1. Hadoop在其发展的过程中经历了多个阶段: 阶段0:Ad Hoc集群时代 标志着Hadoop的起源,集群以Ad Hoc.单用户方式建立 阶段1:Hadoop on Demand(HOD) 是进化过程中的下一个阶段,以一种通用系统的形式,在商用硬件组成的共享集群上提供和管理私有Hadoop MapReduce和HDFS实例. 阶段2:共享计算集群的黎明 始于大量Hadoop安装转向与共享HDFS实例一起的共享MapReduce