《Hadoop MapReduce性能优化》一1.2 Hadoop MapReduce概述-阿里云开发者社区

开发者社区> 大数据> 正文
登录阅读全文

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

简介:

本节书摘来异步社区《Hadoop MapReduce性能优化》一书中的第1章,第1.2节,作者: 【法】Khaled Tannir 译者: 范欢动 责编: 杨海玲,更多章节内容可以访问云栖社区“异步社区”公众号查看。

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保存了哪个数据块的哪个复制件。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

其他文章