Hadoop

第二章 hadoop整体架构介绍

2014-09-06  本文已影响0人  via_lz

本章重点介绍hadoop本身的架构,包括分布式数据存储系统HDFS和计算框架mapreduce。

2.1. Hadoop背景介绍

Hadoop的架构灵感来源于谷歌工程师Jeff Dean和Sanjay Ghemawat开发并发布的GFS(谷歌文件系统)和GMR(谷歌mapreduce),前者是一个高容错的分布式文件系统,后者是一个适用于大规模并行处理的计算框架。Apache Hadoop的HDFS和MapReduce有着和前者类似的功能,是前者的开源实现。借助开源社区的力量,目前hadoop正在不断进化并补充新鲜血液,随着其周边环境(HBase, Hive, Pig,Sqoop,ZooKeeper等)的日志壮大,一个完整的生态系统已经形成,触及了大数据处理的方方面面。

2.2. HDFS

HDFS被设计为运行在普通低配置硬件上的分布式文件系统。HDFS的特点在于假设存储数据的硬件设备是不可靠的,也假设存储的数据量非常大,硬件设备会随时动态扩展,基于以上假设,HDFS提出了以下几个重要特性(实际上是从GFS借鉴而来):

2.3. MapReduce

MapReduce是一个分布式变成框架,有适用范围,但其最大的好处在于能够对海量数据做并行计算。大数据处理的难点并不是编程复杂,而在于数据量太大,就一个简单的文件排序而言,若数据量多大TB,无论多高配置的服务器,都无法满足其对内存的需求,而使用hadoop的mapreduce计算框架,若计算节点足够多,对文件按key进行适当的分割,则可以轻松地在几分钟之内完成。
Hadoop的MapReduce框架实现的核心概念在于倒排索引。mapper端将输入的键值对做处理并以用户自定义键值对输出,数据输入reducer端前会对键值对进行排序和合并,key相同的多个键值对会被合并为一个,key对应一个tupple,内含所有该key对应的value,类似如下过程:(mapper输出3个键值对)-><k1,v1>, <k1,v2>, <k1, v2> ->(mr框架自动处理后)<k1, <v1,v2,v3>>(reducer输入1个键值对)。

上一篇 下一篇

猜你喜欢

热点阅读