大数据基础与应用
上QQ阅读APP看书,第一时间看更新

2.2 Hadoop发展史及特点

1.Hadoop的发展历程

关于Hadoop的起源,就不得不提到Google公司。Google在自身多年的搜索引擎业务中构建了突破性的GFS,从此文件系统进入分布式时代。而Hadoop来源于一款名为Google MapReduce的编程模型包。MapReduce框架可以把一个应用程序分解为许多并行计算指令,大量的计算节点运行非常巨大的数据集,一个典型例子就是在网络数据上运行的搜索算法。

在2002-2004年间,Google以三大论文的发布向世界推送了其云计算的核心组成部分GFS、MapReduce以及BigTable。Google虽然没有将其核心技术开源,但是这三篇论文已经向开源社区的开发者们指明了方向。

Doug Cutting使用Java语言对Google的云计算核心技术做了开源的实现。后来,Apache基金会整合Doug Cutting以及其他IT公司(如Facebook等)的贡献成果,开发并推出了Hadoop生态系统。Hadoop是一个搭建在廉价PC上的分布式集群系统架构,它具有高可用性、高容错性和高可扩展性等优点。由于它提供了一个开放式的平台,用户可以在完全不了解底层实现细节的情形下,开发适合自身应用的分布式程序。

2004年12月,Google发表了MapReduce论文,MapReduce允许跨服务器集群,运行超大规模并行计算。Doug Cutting意识到可以用MapReduce来解决Lucene的扩展问题。Doug Cutting根据GFS和MapReduce的思想创建了开源Hadoop框架。2006年1月,Doug Cutting加入Yahoo,领导Hadoop的开发。

2.Hadoop的特点

Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点。

1)高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。

2)高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。

3)高效性。Hadoop以并行的方式工作,能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。

4)高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。

5)低成本。与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,Hadoop是开源的,依赖于社区服务,项目的软件成本因此会大大降低,任何人都可以使用。

Hadoop带有用Java语言编写的框架,也可以使用其他语言编写。