Hadoop之父Doug Cutting
現(xiàn)在,可能所有人都直接用過他的著作,他是Lucene、Nutch 、Hadoop等項目的發(fā)起人。是他,把不可捉摸的查找技能構(gòu)成商品,貢獻給普羅群眾;仍是他,打造了現(xiàn)在在云核算和大數(shù)據(jù)范疇里如日中天的Hadoop。他是某種意義上的盜火者,他即是Doug Cutting。
從實習(xí)生做起
1985年,Cutting畢業(yè)于美國斯坦福大學(xué)。他并不是一開始就決心投身IT行業(yè)的,在大學(xué)時代的頭兩年,Cutting學(xué)習(xí)了諸如物理、地理等常規(guī)課程。因為學(xué)費的壓力,Cutting開始意識到,自己必須學(xué)習(xí)一些更加實用、有趣的技能。這樣,一方面可以幫助自己還清貸款,另一方面,也是為自己未來的生活做打算。因為斯坦福大學(xué)座落在IT行業(yè)的“圣地”硅谷,所以學(xué)習(xí)軟件對年輕人來說是再自然不過的事情了。
Cutting的第一份工作是在Xerox做實習(xí)生,Xerox當時的激光掃描儀上運行著三個不同的操作系統(tǒng),其中的一個操作系統(tǒng)還沒有屏幕保護程序。因此,Cutting就開始為這套系統(tǒng)開發(fā)屏幕保護程序。由于這套程序是基于系統(tǒng)底層開發(fā)的,所以 其他同事可以給這個程序添加不同的主題。這份工作給了Cutting一定的滿足感,也是他最早的“平臺”級的作品。
可以說,Xerox對 Cutting后來研究搜索技術(shù)起到了決定性的影響,除了短暫的在蘇格蘭工作的經(jīng)歷外,Cutting事業(yè)的起步階段大部分都是在Xerox度過的,這段 時間讓他在搜索技術(shù)的知識上有了很大提高。他花了四年的時間搞研發(fā),這四年中,他閱讀了大量的論文,同時,自己也發(fā)表了很多論文,用Cutting自己的 話說——“我的研究生是在Xerox讀的。”
盡管Xerox讓Cutting積累了不少技術(shù)知識,但他卻認為,自己當時搞的這些研究只是紙上談兵,沒有人試驗過這些理論的可實踐性。于是,他決定勇敢地邁出這一步,讓搜索技術(shù)可以為更多人所用。1997年底,Cutting開始以每周兩天的時間投入,在家里試著用Java把這個想法變成現(xiàn)實,不久之后,Lucene誕生了。作為第一個提供全文文本搜索的開源函數(shù)庫,Lucene的偉大自不必多言。
Hadoop的誕生
之后,Cutting再接再厲,在 Lucene的基礎(chǔ)上將開源的思想繼續(xù)深化。2004年,Cutting和同為程序員出身的Mike Cafarella決定開發(fā)一款可以代替當時的主流搜索產(chǎn)品的開源搜索引擎,這個項目被命名為Nutch。在此之前,Cutting所在的公司 Architext(其主要產(chǎn)品為Excite搜索引擎)因沒有頂住互聯(lián)網(wǎng)經(jīng)濟泡沫的沖擊而破產(chǎn),那時的Cutting正處在Freelancer的生涯 中,所以他希望自己的項目能通過一種低開銷的方式來構(gòu)建網(wǎng)頁中的大量算法。幸運的是,Google這時正好發(fā)布了一項研究報告,報告中介紹了兩款Google為支持自家的搜索引擎而開發(fā)的軟件平臺。這兩個平臺一個是GFS(Google File System),用于存儲不同設(shè)備所產(chǎn)生的海量數(shù)據(jù);另一個是MapReduce,它運行在GFS之上,負責分布式大規(guī)模數(shù)據(jù)。基于這兩個平臺,Cutting最引人矚目的作品——Hadoop誕生了。談到Google對他們的“幫助”,Cutting說:“我們開始設(shè)想用4~5臺電腦來實現(xiàn) 這個項目,但在實際運行中牽涉了大量繁瑣的步驟需要靠人工來完成。Google的平臺讓這些步驟得以自動化,為我們實現(xiàn)整體框架打下了良好的基礎(chǔ)。”
說起Google,Cutting也是它成長的見證人之一,這里有一段鮮為人知的故事。早在Cutting供職于Architext期間,有兩個年輕人曾去拜訪這家公司,并向他們兜售自己的搜索技術(shù),但當時他們的Demo只檢索出幾百萬條網(wǎng)頁,Excite的工程師們覺得他們的技術(shù)太小兒科,于是就在心里鄙 視一番,把他們給送走了。但故事并未到此結(jié)束,這兩個年輕人回去之后痛定思痛,決定自己創(chuàng)業(yè)。于是,他們開了一家自己的搜索公司,取名為Google。這兩個年輕人就是Larry Page和Sergey Brin。在Cutting看來,Google的成功主要取決于,反向排序之后再存儲的設(shè)計和對自己技術(shù)的自信。
讓“開源”影響世界
出于對時間成本的考慮,在從Architext離職四年后,Cutting決定結(jié)束這段Freelancer的生涯,找一家靠譜的公司,進一步完善 Hadoop的性能。他先后面試了幾家公司,其中也包括IBM,但IBM似乎對他的早期項目Lucene更感興趣,至于Hadoop則不置可否。就在此 時,Cutting接受了當時Yahoo!搜索項目負責人Raymie Stata的邀請,于2006年正式加入Yahoo!。在Yahoo!,有一支一百人的團隊幫助他完善Hadoop項目,這期間開發(fā)工作進行得卓有成效。 不久之后,Yahoo!就宣布,將其旗下的搜索業(yè)務(wù)的架構(gòu)遷移到Hadoop上來。兩年后,Yahoo!便基于Hadoop啟動了第一個應(yīng)用項目 “webmap”——一個用來計算網(wǎng)頁間鏈接關(guān)系的算法。Cutting的時任上司(后為Hortonworks CEO)Eric Baldeschwieler曾說:“在相同的硬件環(huán)境下,基于Hadoop的webmap的反應(yīng)速度是之前系統(tǒng)的33倍。”
雖然 Hadoop的表現(xiàn)驚艷,但在當時并非所有公司都有條件使用,與此同時,用戶需求卻在日益增加。有些大公司(如銀行、電信公司、大型零售商等)只關(guān)注于產(chǎn)品,卻不想在技術(shù)工程和咨詢服務(wù)上過多投入,它們需要一個可以幫助其解決問題的平臺,這就是Cutting后來跳槽到Cloudera的初衷。從某種程度上說,Cloudera就是這么一個為那些在咨詢和技術(shù)上有需求的公司提供服務(wù)的平臺。它的客戶大多來自于傳統(tǒng)行業(yè),希望通過Hadoop來處理之前只能 被直接拋棄的大規(guī)模數(shù)據(jù)。現(xiàn)在,除了這些傳統(tǒng)行業(yè)之外,Yahoo!、Facebook、eBay、LinkedIn等公司都在使用Hadoop,用 Cutting的話說,他們的團隊被“無形之中擴大了”。
目前,Cutting的方針是把Hadoop開展成云核算范疇的RedHat。 “我從來沒有想過,除了搜索引擎,Hadoop的效果還能在其他方面有所發(fā)揮,它今日所遭到的關(guān)注程度,已超過了我之前的一切幻想”。談到成功,Cutting以為他的成功首要歸功于兩點,一是對自個作業(yè)的熱心(Cutting在大學(xué)時就開端做Infrastracture類的程序,還用 Lisp為Emacs奉獻過代碼,他非常喜歡自個的程序被千萬人運用的感受);二是方針不要定得過大,要踏踏實實,一步一個腳印。