Hadoop的思想起源--Google

     首先简单介绍一下Google, Google有很多产品,Google搜索引擎,Gmail,安卓,AppspotGoogle Maps,Google earth,Google学术,Google翻译,Google+,下一步Google what??这些为我们的生活带来了巨大的变革,可以说在这个世纪,如果你不会用google,你的生活质量也不会怎么高。

    先来看看Google的低成本之道。

    不使用超级计算机,不使用存储(淘宝的去i,去e,去o之路)
    大量使用普通的pc服务器(去掉机箱,外设,硬盘),提供有冗余的集群服务
    全世界多个数据中心,有些附带发电厂
    运营商向Google倒付费

     这四个方面决定了google的成本很低,利润自然就高。

     然后讲讲任何搜索引擎面临的几个难题,google自然也会遇到。但正是google的解决方案才成就了今天得hadoop。

    1.大量的网页怎么存储?

     2.搜索算法

     3.Page-Rank计算问题

     针对以上的问题,google是怎么解决的呢?

     1.针对网页存储,Google采用了分布式文件存储和倒排索引, 具体请参考《搜索引擎-倒排索引基础知识》和《倒排索引-搜索引擎的基石》两篇文章,讲的很详细。

分布式文件存储也就是后来Haoop的核心HDFS。

      2.针对网站的搜索算法,Google发明了Page-Rank算法。这个算法就是后来hadoop的另一个核心Map-Redure。具体请参考《PageRank算法》。当然这个算法是google早期论文中阐述的思想,hadoop创始人根据这个思想谢了hadoop的map-reduce。这个算法现在肯定有很多改进。比以前更复杂,也有很多人对此进行优化。中国也有人去研究,比如:《Hadoop-MapReduce下的PageRank 矩阵分块算法》就是中国大学的教授写的优化思想。

      从上面可以看出,Google带给我们的关键技术和思想,这些包括:

     GFS-->HDFS

     Map-Reduce

     Bigtable.(这个还没开始研究,后面会研究到)。

    然后就有了Hadoop的源起——Lucene

     Doug Cutting开创的开源软件,用java书写代码,实现与Google类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎

     早期发布在个人网站和SourceForge,2001年年底成为apache软件基金会jakarta的一个子项目

     Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎

  对于大数量的场景,Lucene面对与Google同样的困难。迫使Doug Cutting学习和模仿Google解决这些问题的办法

  一个微缩版:Nutch

 

从lucene到nutch,从nutch到hadoop

 2003-2004年,Google公开了部分GFS和Mapreduce思想的细节,以此为基础Doug Cutting等人用了2年业余时间实现了DFS和Mapreduce机制,使Nutch性能飙升 。

 Yahoo招安Doug Cutting及其项目 

 Hadoop 于 2005 年秋天作为 Lucene的子项目 Nutch的 一部分正式引入Apache基金会。2006 年 3 月份,Map-Reduce 和 Nutch Distributed File System (NDFS) 分别被纳入称为 Hadoop 的项目中

 名字来源于Doug Cutting儿子的玩具大象

 

目前Hadoop达到的高度

 实现云计算的事实标准开源软件

 包含数十个具有强大生命力的子项目

 已经能在数千节点上运行,处理数据量和排序时间不断打破世界纪录

 

Hadoop子项目家族

Hadoop的思想起源--Google_第1张图片

 

Hadoop的架构

Hadoop的思想起源--Google_第2张图片

 

Namenode

Hadoop的思想起源--Google_第3张图片

 

Secondary Namenode

Hadoop的思想起源--Google_第4张图片

DataNode

Hadoop的思想起源--Google_第5张图片

 

JobTracker

Hadoop的思想起源--Google_第6张图片

 

TaskTracker

Hadoop的思想起源--Google_第7张图片

 

Master与Slave

Hadoop的思想起源--Google_第8张图片

Why Hadoop?

Hadoop的思想起源--Google_第9张图片

 

Why not Hadoop?

JAVA?

难以驾驭?

数据集成困难

Hadoop VS ORACLE

 

Hadoop确实是一门比较难的技术,因为是用java写的,所以你得精通java才能更好的去实现hadoop。但是我们一定要有决心去学好他。我们一起努力。

 

 

 

 

 

 

你可能感兴趣的:(Hadoop)