《Hadoop MapReduce性能优化》一1.2 Hadoop MapReduce概述

1.2 Hadoop MapReduce概述

Hadoop MapReduce性能优化
Hadoop由Google公司推出,是最流行的MapReduce编程模型的Java开源实现。还有一些其他的MapReduce开源实现(如Sphere、Starfish、Riak等),这些开源实现实现了Google文档描述的特性或者其中的部分特性。

Hadoop由分布式数据存储引擎和MapReduce执行引擎组成。在处理使用大量节点、围绕大量数据集展开的高分布性问题方面,Hadoop得到了成功的应用。上述节点一起构成了Hadoop集群,而Hadoop集群由一个称为JobTracker的主节点和多个工作节点(从节点)构成,每个工作节点称为一个TaskTracker。在这个框架体系下,一个用户程序称为一项作业,并分为两个步骤,即map和reduce。

与在MapReduce编程模型中类似,使用Hadoop MapReduce实现的时候,用户仅须定义map和reduce函数。Hadoop MapReduce系统会自动并行执行这些函数并确保容错。

要学习更多关于Hadoop MapReduce实现的内容,读者可以浏览Hadoop官方网站:http://hadoop.apache.org

Hadoop MapReduce框架基本上采用了一个分布式文件系统来读写数据。这个分布式文件系统称为Hadoop分布文件系统(HDFS),是Google文件系统(GFS)的对等开源实现。因此,Hadoop MapReduce作业的I/O性能严重依赖于HDFS。

HDFS包含一个叫做NameNode(名称节点)的主节点和一个叫做DataNode(数据节点)的从节点。在HDFS内部,数据拆分为固定大小的数据块(block或chunk)并分发到集群中的所有数据节点。每个数据块一般复制为两个复制件:一个放在同一机架上,另一个放在其他机架上。NameNode负责跟踪哪个DataNode保存了哪个数据块的哪个复制件。

时间: 2024-10-01 08:46:23

《Hadoop MapReduce性能优化》一1.2 Hadoop MapReduce概述的相关文章

《Hadoop MapReduce性能优化》一2.4 用Apache Ambari监测Hadoop

2.4 用Apache Ambari监测Hadoop Hadoop MapReduce性能优化 Apache Ambari项目 简化了Hadoop管理和集群监测,其主要目标是在多实例环境下简化Hadoop集群的部署与管理. Ambari提供了一组直观.易用的监测Hadoop集群的工具,隐藏了Hadoop框架的复杂性.它通过向管理员暴露RESTful API来允许与其他系统集成.而且,Ambari依赖Ganglia和Nagios的度量结果,在需要时(如节点故障.磁盘空间不足等)使用报警系统发送电子

《Hadoop MapReduce性能优化》一2.1 研究Hadoop参数

2.1 研究Hadoop参数 Hadoop MapReduce性能优化 正如第1章中提到的那样,有很多因素会对Hadoop MapReduce性能产生影响.一般说来,与工作负载相关的Hadoop性能优化需要关注以下3个主要方面:系统硬件.系统软件,以及Hadoop基础设施组件的配置和调优/优化. 需要指出的是,Hadoop被归类为高扩展性解决方案,但却不足以归类为高性能集群解决方案.系统管理员可以通过各种配置选项来配置和调优Hadoop集群.性能配置参数主要关注CPU利用率.内存占用情况.磁盘I

《Hadoop MapReduce性能优化》一导读

前 言 Hadoop MapReduce性能优化 MapReduce是一个重要的并行处理模型,用于大规模.数据密集型应用,比如数据挖掘和Web索引.Hadoop作为MapReduce的一个开源实现,广泛用于支持对响应时间要求很严苛的集群计算作业. 多数MapReduce程序的开发是以数据分析为目的的,这通常需要花费很长的时间.许多公司正在用Hadoop在更大的数据集上做更高级的数据分析,当然这更加需要运行时间的保障.运行效率,尤其是MapReduce的I/O开销,仍然是需要解决的问题.经验表明,

《Hadoop MapReduce性能优化》一2.2 Hadoop MapReduce性能指标

2.2 Hadoop MapReduce性能指标 Hadoop MapReduce性能优化由于规模以及分布性的原因,诊断Hadoop程序的性能问题和监测Hadoop系统有着特有的难度.尽管Hadoop系统对外公开了原始指标(metric)和日志(log),但这些都难于解释,并不能被很多程序员完全理解. 当前,Hadoop通过日志和指标API报告整体系统的粗略性能指标.但是,缺少了每个作业或者每个任务层面的重要指标,比如磁盘与网络I/O利用情况.在Hadoop系统上运行多个作业时,还缺乏反映每个任

《Hadoop MapReduce性能优化》一1.3 Hadoop MapReduce的工作原理

1.3 Hadoop MapReduce的工作原理 Hadoop MapReduce性能优化经过一个或者多个步骤,MapReduce编程模型可以用来处理许多大规模数据问题,还可以更高效地实现MapReduce编程模型来支持使用大量机器处理大量数据的问题.在大数据的背景下,可以处理的数据规模可以大到无法在单机存储. 在典型的Hadoop MapReduce框架下,数据拆分为数据块并分发到集群内的多个节点上.MapReduce框架通过把计算逻辑转移到数据所在的机器,而不是把数据转移到其能够得以处理的

《Hadoop MapReduce性能优化》一1.5 小结

1.5 小结 Hadoop MapReduce性能优化在本章中,我们学习了MapReduce编程模型,并回顾了其内部工作原理.然后,我们关注了Hadoop MapReduce并了解了其主要组件.我们还谈到了影响Hadoop MapReduce性能的内外部因素. 在下一章中,我们将深入了解Hadoop的可调参数,并学习Hadoop性能指标(metrics)和性能检测工具.

《Hadoop MapReduce性能优化》一2.5 小结

2.5 小结 Hadoop MapReduce性能优化在本章中,我们讨论了Hadoop MapReduce性能调优,并学习了应用程序开发人员和集群管理员如何通过调优Hadoop来提升MapReduce作业的性能. 我们学习了大多数与CPU.磁盘I/O.内存和网络利用相关的配置变量,并探讨了这些变量如何影响MapReduce作业的性能. 之后,我们学习了Hadoop性能指标并推荐了一些开源监测工具,这些工具可以提升Hadoop监测体验,而且对Hadoop集群管理员和应用程序开发人员来说非常顺手.

《Hadoop MapReduce性能优化》一1.1 MapReduce模型

1.1 MapReduce模型 Hadoop MapReduce性能优化MapReduce编程模型的设计目标是,使用普通硬件的大型集群处理非结构化数据并产生大规模数据集.它能够在数千个计算节点的集群上处理TB级的数据,进行故障处理,完成任务复制并聚合最终结果. MapReduce模型简单易懂.它是由Google研究院的工程师在21世纪初设计的(http://research.google.com/archive/mapreduce.html).这一模型包含两个可以在多台机器上并行执行的函数:一个

《Hadoop MapReduce性能优化》一第 2 章 Hadoop参数概述

第 2 章 Hadoop参数概述 Hadoop MapReduce性能优化第 2 章 Hadoop参数概述 一旦运行了Hadoop作业,了解集群资源是否得到了充分的利用就非常重要了.幸好,Hadoop框架提供了几个参数,可以用于对作业进行调优并指定作业在集群上的运行方式. 性能调优涉及4个方面:CPU利用率.内存占用情况.磁盘I/O和网络流量.本章会描述与这几个方面相关的大多数参数,然后介绍优化Hadoop执行的技术并定义一些配置参数. 拥有效率监测工具至关重要,当问题正在发生或者已经发生时它会

《Hadoop MapReduce性能优化》一第 1 章 了解Hadoop MapReduce

第 1 章 了解Hadoop MapReduce Hadoop MapReduce性能优化第 1 章 了解Hadoop MapReduce MapReduce是一个流行的针对数据密集任务的分布式计算模型,它正在发展成为用来支撑包括Web索引.数据挖掘和科学仿真等领域的大规模数据并行应用的重要编程模型. Hadoop是Google公司的MapReduce编程模型的最受欢迎的Java开源实现.在很多公司,Hadoop已经用于大规模数据分析任务,并且经常用在对响应时间要求很严格的作业中. 在深入了解M