Apache Hadoop 框架,允许用户使用简单的编程模型来实现计算机集群的大型数据集的分布式处理。它的目的是支持从单一服务器到上千台机器的扩展,充分利用了每台机器所提供本地计算和存储,而不是依靠硬件来提供高可用性。其本身被设计成在应用层检测和处理故障的库,对于计算机集群来说,其中每台机器的顶层都被设计成可以容错的,以便提供一个高度可用的服务。

    Apache Hadoop 的框架最核心的设计就是:HDFS 和 MapReduce。HDFS 为海量的数据提供了存储,而 MapReduce 则为海量的数据提供了计算。

    正如上一节 MapReduce 所提到的那样,Apache Hadoop 受到了 Google 的 GFS 和 MapReduce 的启发,而前者产生了 Apache Hadoop 的分布式文件系统 NDFS (Nutch Distributed File System) ,而后者也被纳入到 Apache Hadoop 作为核心组件之一。

    随后在 2003 年 Google 发表了一篇技术学术论文关于 Google 文件系统(GFS)。GFS 也就是 Google File System,是 Google 公司为了存储海量搜索数据而设计的专用文件系统。

    2004年 Nutch 创始人 Doug Cutting(同时也是 Apache Lucene 的创始人) 基于 Google 的 GFS 论文实现了分布式文件存储系统名为 NDFS。

    2004年 Google 又发表了一篇技术学术论文,向全世界介绍了 MapReduce。2005年 Doug Cutting 又基于 MapReduce,在 Nutch 搜索引擎实现了该功能。

    2008年1月,Hadoop 成为了 Apache 顶级项目。之后 Hadoop 被成功的应用在了其他公司,其中包括 Last.fm、Facebook、《纽约时报》等。

    2008年2月,Yahoo! 宣布其搜索引擎产品部署在一个拥有1万个内核的 Hadoop 集群上。

    2008年4月,Hadoop 打破世界记录,称为最快排序1TB数据的系统。有关该报道的记录,可以参阅《Apache Hadoop Wins Terabyte Sort Benchmark》(见 )。

    Apache Hadoop 它主要有以下几个优点:

    • 高可靠性。Hadoop 按位存储和处理数据的能力值得人们信赖。
    • 高效性。Hadoop 能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
    • 低成本。Hadoop 是开源的,项目的软件成本因此会大大降低。