大数据处理之道
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1篇 Hadoop军营

1 Hadoop一石激起千层浪

1.1 Hadoop诞生——不仅仅是玩具

Hadoop? Hadoop是什么?多么奇怪的名字。英语过了六级,也不曾和这个单词照过面!不乏有人在线翻译一把。其实大可不必,因为这个单词在牛津字典里面压根就不存在。它是Hadoop的灵魂人物Doug Cutting的儿子取的名字!读者可能会问,莫非是父子俩共同研发的Hadoop?非也,非也。那时候Cutting的儿子仅仅三岁,这是他给自己的玩具黄色小象起的名字而已。Cutting在创建Hadoop之初,正在苦思冥想为自己的产品起个什么名字的时候,突然听到他儿子叫自己的玩具“Hadoop”。Cutting听之大喜,多么大气、响亮、顺口、上档次的名字,就它了!于是,Cutting就在他三岁儿子未曾授权的情况下,“借用”了他儿子玩具的名字,甚至连Hadoop的Logo(黄色的小象)也一起“借用”了过来。这就是Hadoop名字和Logo的来历,一个很有趣的故事。

Doug Cutting,可谓IT界的“弄潮儿”,人称“Hadoop之父”,也是大数据处理的鼻祖性人物。其实,Cutting 1985年毕业于美国斯坦福大学时,并没有打算致力于IT行业,因为那时候IT行业还处于萌芽状态,软件工程还是Cutting毕业之后自修的。1997年,Cutting因为工作需要经常查阅资料,他发现这个过程很是浪费时间和精力,因此决心改善当下的搜索技术,便每周投入两天时间,试着用Java把这个想法变成现实。不久之后,第一个提供全文本搜索的开源函数库诞生了,这就是Lucene。Lucene的伟大自不必多言,就连后来Cutting到IBM面试的时候,IBM还想让Cutting把Lucene继续发扬光大,可惜那时候Cutting一心投入Hadoop开发,所以就和IBM失之交臂(甚为遗憾)。2004年,Cutting和同是程序员出身的Mike Cafarella决定开发一款可以代替当时的主流搜索产品的开源搜索引擎,这个项目被命名为Nutch。在此之前,Cutting供职于Architext,但终因互联网经济泡沫而破产,Cutting进入了自由职业人阶段。所谓“福兮祸所伏”,在自由职业人阶段,Cutting闭关修行,试图通过一种低开销的方式来构建网页中的大量算法。幸运的是,Cutting看到了2004年Google发表的两篇论文,一篇是关于GFS(Google File System)的,构思了一个可扩展的大型数据密集型应用的分布式文件系统,该文件系统可在廉价的硬件上运行,并具有可靠的容错能力,该文件系统可为用户提供极高的计算性能,而同时具备最小的硬件投资和运营成本,用于存储不同设备所产生的海量数据;另一篇是关于MapReduce的,它运行在GFS之上,是一种处理大型及超大型数据集并生成相关执行的编程模型,负责分布式大规模数据。Cutting便利用这段“自由时间”实现了这两篇论文的想法,由此诞生了引人注目的作品——Hadoop!

随后,在持续了四年的自由职业人生涯后,Cutting决定找一家靠谱的公司来继续完善和提升Hadoop。他先后面试了几家IT届的顶尖公司,最终接受了雅虎的邀请,于2006年正式加入雅虎,带领100多人的团队完善Hadoop项目。在此阶段,Hadoop的稳定性得到了极大的提升。不久之后,雅虎宣布将其旗下的搜索引擎产品部署在一个拥有1万个内核的Hadoop集群上。两年后,雅虎便基于Hadoop启动了第一个应用项目“webmap”(一种用来计算网页间链接关系的算法)。

这就是Hadoop的孕育和诞生过程,所以在笔者看来,“历史是少数人创造的,是普通大众推动的”。现在受益于Hadoop的人,应当牢记Doug Cutting这位英雄和Google的创新思想。