Hadoop之父Doug Cutting

作者: 徐威龍  來源: 《程序員》  發布時間: 2013-10-03 12:10  閱讀: 7870 次  推薦: 12   原文鏈接   [收藏]  

  生活中,可能所有人都間接用過他的作品,他是 Lucene、Nutch 、Hadoop 等項目的發起人。是他,把高深莫測的搜索技術形成產品,貢獻給普羅大眾;還是他,打造了目前在云計算和大數據領域里如日中天的 Hadoop。他是某種意義上的盜火者,他就是 Doug Cutting。

  從實習生做起

  1985 年,Cutting 畢業于美國斯坦福大學。他并不是一開始就決心投身 IT 行業的,在大學時代的頭兩年,Cutting 學習了諸如物理、地理等常規課程。因為學費的壓力,Cutting 開始意識到,自己必須學習一些更加實用、有趣的技能。這樣,一方面可以幫助自己還清貸款,另一方面,也是為自己未來的生活做打算。因為斯坦福大學座落在 IT 行業的“圣地”硅谷,所以學習軟件對年輕人來說是再自然不過的事情了。

  Cutting 的第一份工作是在 Xerox 做實習生,Xerox 當時的激光掃描儀上運行著三個不同的操作系統,其中的一個操作系統還沒有屏幕保護程序。因此,Cutting 就開始為這套系統開發屏幕保護程序。由于這套程序是基于系統底層開發的,所以其他同事可以給這個程序添加不同的主題。這份工作給了 Cutting 一定的滿足感,也是他最早的“平臺”級的作品。

  可以說,Xerox 對 Cutting 后來研究搜索技術起到了決定性的影響,除了短暫的在蘇格蘭工作的經歷外,Cutting 事業的起步階段大部分都是在 Xerox 度過的,這段時間讓他在搜索技術的知識上有了很大提高。他花了四年的時間搞研發,這四年中,他閱讀了大量的論文,同時,自己也發表了很多論文,用 Cutting 自己的話說——“我的研究生是在 Xerox 讀的。”

  盡管 Xerox 讓 Cutting 積累了不少技術知識,但他卻認為,自己當時搞的這些研究只是紙上談兵,沒有人試驗過這些理論的可實踐性。于是,他決定勇敢地邁出這一步,讓搜索技術可以為更多人所用。1997 年底,Cutting 開始以每周兩天的時間投入,在家里試著用 Java 把這個想法變成現實,不久之后,Lucene 誕生了。作為第一個提供全文文本搜索的開源函數庫,Lucene 的偉大自不必多言。

  Hadoop 的誕生

  之后,Cutting 再接再厲,在 Lucene 的基礎上將開源的思想繼續深化。2004 年,Cutting 和同為程序員出身的 Mike Cafarella 決定開發一款可以代替當時的主流搜索產品的開源搜索引擎,這個項目被命名為 Nutch。在此之前,Cutting 所在的公司 Architext(其主要產品為 Excite 搜索引擎)因沒有頂住互聯網經濟泡沫的沖擊而破產,那時的 Cutting 正處在 Freelancer 的生涯中,所以他希望自己的項目能通過一種低開銷的方式來構建網頁中的大量算法。幸運的是,Google 這時正好發布了一項研究報告,報告中介紹了兩款 Google 為支持自家的搜索引擎而開發的軟件平臺。這兩個平臺一個是 GFS(Google File System),用于存儲不同設備所產生的海量數據;另一個是 MapReduce,它運行在 GFS 之上,負責分布式大規模數據。基于這兩個平臺,Cutting 最引人矚目的作品——Hadoop 誕生了。談到 Google 對他們的“幫助”,Cutting 說:“我們開始設想用 4~5 臺電腦來實現這個項目,但在實際運行中牽涉了大量繁瑣的步驟需要靠人工來完成。Google 的平臺讓這些步驟得以自動化,為我們實現整體框架打下了良好的基礎。”

  說起 Google,Cutting 也是它成長的見證人之一,這里有一段鮮為人知的故事。早在 Cutting 供職于 Architext 期間,有兩個年輕人曾去拜訪這家公司,并向他們兜售自己的搜索技術,但當時他們的 Demo 只檢索出幾百萬條網頁,Excite 的工程師們覺得他們的技術太小兒科,于是就在心里鄙視一番,把他們給送走了。但故事并未到此結束,這兩個年輕人回去之后痛定思痛,決定自己創業。于是,他們開了一家自己的搜索公司,取名為 Google。這兩個年輕人就是 Larry Page 和 Sergey Brin。在 Cutting 看來,Google 的成功主要取決于,反向排序之后再存儲的設計和對自己技術的自信。

  讓“開源”影響世界

  出于對時間成本的考慮,在從 Architext 離職四年后,Cutting 決定結束這段 Freelancer 的生涯,找一家靠譜的公司,進一步完善 Hadoop 的性能。他先后面試了幾家公司,其中也包括 IBM,但 IBM 似乎對他的早期項目 Lucene 更感興趣,至于 Hadoop 則不置可否。就在此時,Cutting 接受了當時 Yahoo! 搜索項目負責人 Raymie Stata 的邀請,于 2006 年正式加入 Yahoo!。在 Yahoo!,有一支一百人的團隊幫助他完善 Hadoop 項目,這期間開發工作進行得卓有成效。 不久之后,Yahoo! 就宣布,將其旗下的搜索業務的架構遷移到 Hadoop 上來。兩年后,Yahoo! 便基于 Hadoop 啟動了第一個應用項目 “webmap”——一個用來計算網頁間鏈接關系的算法。Cutting 的時任上司(后為 Hortonworks CEO)Eric Baldeschwieler 曾說:“在相同的硬件環境下,基于 Hadoop 的 webmap 的反應速度是之前系統的 33 倍。”

  雖然 Hadoop 的表現驚艷,但在當時并非所有公司都有條件使用,與此同時,用戶需求卻在日益增加。有些大公司(如銀行、電信公司、大型零售商等)只關注于產品,卻不想在技術工程和咨詢服務上過多投入,它們需要一個可以幫助其解決問題的平臺,這就是 Cutting 后來跳槽到 Cloudera 的初衷。從某種程度上說,Cloudera 就是這么一個為那些在咨詢和技術上有需求的公司提供服務的平臺。它的客戶大多來自于傳統行業,希望通過 Hadoop 來處理之前只能被直接拋棄的大規模數據。現在,除了這些傳統行業之外,Yahoo!、Facebook、eBay、LinkedIn 等公司都在使用 Hadoop,用 Cutting 的話說,他們的團隊被“無形之中擴大了”。

  目前,Cutting 的目標是把 Hadoop 發展成云計算領域的 RedHat。 “我從來沒有想過,除了搜索引擎,Hadoop 的作用還能在其他方面有所發揮,它今天所受到的關注程度,已超過了我之前的所有想象”。談到成功,Cutting 認為他的成功主要歸功于兩點,一是對自己工作的熱情(Cutting 在大學時就開始做 Infrastracture 類的程序,還用 Lisp 為 Emacs 貢獻過代碼,他非常喜歡自己的程序被千萬人使用的感覺);二是目標不要定得過大,要踏踏實實,一步一個腳印。

12
1
 
標簽:Hadoop
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()