从业界使用分布式系统的变化趋势和 hadoop 框架的长远发展来看,MapReduce 的 JobTracker/TaskTracker 机制需要大规模的调整来修复它在可扩展性,内存消耗,线程模型,可靠性和性能上的缺陷。在过去的几年中,hadoop 开发团队做了一些 bug 的修复,但是最近这些修复的成本越来越高,这表明对原框架做出改变的难度越来越大。
为从根本上解决旧 MapReduce 框架的性能瓶颈,促进 Hadoop 框架的更长远发展,从 0.23.0 版本开始,Hadoop 的 MapReduce 框架完全重构,发生了根本的变化。新的 Hadoop MapReduce 框架命名为 MapReduceV2 或者叫 Yarn,其架构图如下图所示:
重构根本的思想是将 JobTracker 两个主要的功能分离成单独的组件,这两个功能是资源管理和任务调度 / 监控。新的资源管理器全局管理所有应用程序计算资源的分配,每一个应用的 ApplicationMaster 负责相应的调度和协调。一个应用程序无非是一个单独的传统的 MapReduce 任务或者是一个 DAG( 有向无环图 ) 任务。ResourceManager 和每一台机器的节点管理服务器能够管理用户在那台机器上的进程并能对计算进行组织。
事实上,每一个应用的 ApplicationMaster 是一个详细的框架库,它结合从 ResourceManager 获得的资源和 NodeManager 协同工作来运行和监控任务。
上图中 ResourceManager 支持分层级的应用队列,这些队列享有集群一定比例的资源。从某种意义上讲它就是一个纯粹的调度器,它在执行过程中不对应用进行监控和状态跟踪。同样,它也不能重启因应用失败或者硬件错误而运行失败的任务。
ResourceManager 是基于应用程序对资源的需求进行调度的 ; 每一个应用程序需要不同类型的资源因此就需要不同的容器。资源包括:内存,CPU,磁盘,网络等等。可以看出,这同现 Mapreduce 固定类型的资源使用模型有显著区别,它给集群的使用带来负面的影响。资源管理器提供一个调度策略的插件,它负责将集群资源分配给多个队列和应用程序。调度插件可以基于现有的能力调度和公平调度模型。
上图中 NodeManager 是每一台机器框架的代理,是执行应用程序的容器,监控应用程序的资源使用情况 (CPU,内存,硬盘,网络 ) 并且向调度器汇报。
每一个应用的 ApplicationMaster 的职责有:向调度器索要适当的资源容器,运行任务,跟踪应用程序的状态和监控它们的进程,处理任务的失败原因。
作者简介
昵称:澳洲鸟,猫头哥
姓名:朴海林
QQ:85977328
MSN:6301655@163.com
本文的研究,离不开《至高天》朋友们的支持
猫头哥:http://phl.iteye.com/
根根:http://blog.csdn.net/suileisl
芝麻的奋斗:http://sesame84.iteye.com/
wan560:http://blog.csdn.net/wan560/
terrily:http://terrily.iteye.com/
- 大小: 23.5 KB
分享到:
相关推荐
图解MapReduce,系统介绍Hadoop MapReduce工作过程原理
【大数据入门笔记系列】第五节 SpringBoot集成hadoop开发环境(复杂版的WordCount)前言环境清单创建SpringBoot项目创建包创建yml添加集群主机名映射hadoop配置文件环境变量HADOOP_HOME编写代码添加hadoop依赖jar包...
2. **下载Hadoop**:访问Apache官网或镜像站点下载Hadoop的稳定版本,如Hadoop 2.x或3.x系列。 3. **解压并配置Hadoop**:将下载的Hadoop压缩包解压到合适的目录,然后进行基本的配置。主要修改`etc/hadoop/core-...
通过这个高清图解教程,你将能够亲手实践每一个步骤,深入了解Hadoop的分布式架构和工作原理。记得在实际操作中,耐心和细心是成功的关键。如果你在阅读和执行教程的过程中遇到任何困难,可以参考Hadoop的官方文档或...
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,MapReduce则为海量的数据提供了计算...1、Hadoop示例程序WordCount详解及实例2、hadoop学习笔记:mapreduce框架详解3、hadoop示例程序wo
2. **Hadoop的角色与功能** Hadoop作为Hive的基础,主要负责数据的存储和分布式计算。Hadoop的HDFS(Hadoop Distributed File System)提供了高容错、高吞吐量的数据存储服务,而MapReduce则提供了并行处理数据的...
MapReduce的过程可以被图解为从输入数据到输出结果的一系列步骤。首先是将输入的数据拆分为键值对,然后对每一个键值对调用Map函数进行并行处理,每个Map函数会产生新的键值对。在Map阶段后,需要对产生的数据进行...
MapReduce的图解展示了MapReduce的过程,包括Map阶段和Reduce阶段。Map阶段将输入的数据拆分为多个键值对,Reduce阶段对Map阶段产生的数据进行排序、组合以键值对的形式输出最终结果。 MR开发接口介绍 MR开发接口...
2. **Hadoop架构**:详细介绍Hadoop的Master-Slave架构,包括NameNode、DataNode、JobTracker和TaskTracker等角色的功能。 3. **HDFS原理**:HDFS的设计原则、数据块的概念、副本策略、读写流程,以及如何进行文件...
MapReduce是Hadoop生态系统中的核心组件,主要用于处理和存储大规模数据。...通过阅读《Job本地提交过程源码分析及图解》这样的文档,我们可以深入学习MapReduce的工作原理,提升我们的Hadoop编程技能。
首先,我们来看"图画.png"可能包含的内容,这可能是一张描绘Hadoop MapReduce工作流程或者排序过程的图解,帮助我们理解数据是如何在集群中流动,并被排序的。图片可能展示了MapReduce的各个步骤,包括Split、Map、...
客户端接口和程序(2).ppt"则可能是配合视频的课件,包含了关键概念、步骤图解以及案例分析,帮助学习者更好地理解Greenplum和Hadoop客户端接口的工作原理和使用方法。课件可能涵盖了如何配置客户端环境、连接到...
2. **Kerberos在Hadoop中的应用**:在Hadoop生态系统中,包括HDFS、MapReduce、YARN、HBase等组件都可以通过Kerberos进行安全认证。每个组件都有自己的Service Principal,确保只有经过验证的进程才能执行操作。 3....
本压缩包“状态机可视化png.zip”包含与YARN(Yet Another Resource Negotiator)框架中的MapReduce、ResourceManager和NodeManager相关的状态机图,这些图能够帮助我们深入理解Hadoop生态系统的工作原理。...
本文详细分析了hadoop的架构,对其组成原理做了细致的分析。配合图解让读者可以很快理解hadoop原理。
这部分内容将详细介绍Spark如何通过弹性分布式数据集(Resilient Distributed Datasets, RDD)实现数据并行计算,并探讨Spark与其他大数据处理框架如Hadoop MapReduce的区别。 Spark Core是Spark的基础,它提供了...
Hadoop生态圈包括Hadoop 1与Hadoop 2版本的HDFS、MapReduce、Hive、HBase、Zookeeper等技术,它们是大数据处理领域的关键技术,了解和掌握这些技术对于应对大数据相关面试问题有显著帮助。 此外,准备面试的建议有...
Spark 是大数据处理领域中的一个重要工具,它诞生于加州大学伯克利分校AMPLab,旨在解决 Hadoop MapReduce 在处理实时数据流和交互式查询时的性能瓶颈。MapReduce 的计算模式在处理大规模数据时效率较低,因为它将每...