Hadoop實現技術轉折,從Yahoo走向Google
本節向大家介紹一下Hadoop從Yahoo向Google的技術轉折方面的內容,Hadoop有很多值得學習的地方,這里就像大家簡單介紹一下有關Hadoop的轉折,歡迎大家一起來學習。
Hadoop從Yahoo向Google的技術轉折
ApacheHadoop,是一個模仿GoogleMapReduce架構的開源軟件,雖然還沒有***正式發布,但是已經非常有影響力了。
僅僅一年的時間,Hadoop就發布了一個真正開源的穩定版本,但是這個版本還不能稱為1.0,只能稱為0.20.0。盡管如此,Hadoop已經成為eHarmony情人頻道、LinkedIn求職頻道、Fox互動媒體社區網站等很多大網站的搜索引擎了。另外默多克傳媒、MySpace、Photobucket以及RottenTomatoes也都表示Hadoop為他們提供了很大的幫助。
在最近的一次采訪中,Hadoop創始人之一DougCutting表示自己都對Hadoop的發展速度感到吃驚。他說:“從Nutch(Hadoop的前身)開始探索網絡搜索以來,....我一直在尋找和挑戰突破”。還說;“那時候并沒有認為我們已經超出了現在大規模網站的索引環境”。
但是在***個穩定版本發布一年之后的幾個月里,也就是去年的ApacheCon會議上,關于Hadoop1.0以及2010年的方向的討論變得不可思議。
該項目正朝著一個在無需打破用戶習慣、無需重新安裝軟件或損失數據的情況下就可以升級的目標前進。使用Hadoop,用戶在不需要徹底重建數據中心的情況下對系統進行升級。
Yahoo將Hadoop項目優先級降低
Cutting說,他的前雇主,也就是Yahoo,這個擁有眾多支持者的企業一直都是Hadoop的唯一支持者。但是現在遇到了一些挑戰,因為Yahoo已經開始將重點傾斜向一些其他的項目了。搜索的另一個要求就是安全性,只有在安全的搜索保護下,人們才可以建設大規模私人信息集群,并且保證不讓其他人找到他們的信息。雖然安全也是Hadoop目標之一,但是Yahoo更希望能夠快速推出可用的產品。Cutting說,Hadoop1.0可能沒有太大的改進,但是我們有很大的希望。
有趣的轉折
最初階段,Yahoo發起并推動了Hadoop項目,并為該項目提供了很大的幫助。但是在2000年之后,隨著Google公司的發展,Yahoo清楚的看到Hadoop不應該僅僅是一個網絡搜索引擎,更應該是一個能夠為分布式數據提供各種服務的運算架構。該架構是基于Google分布式文件系統(GFS)以及MapReduce之上。在GFS和MapReduce之前,也就是2002年的時候,Cutting已經創建了Nutch這個很完善的搜索引擎,但是后來開始遇到困難。Cutting說,當時的工作內容已經涉及到整個互聯網,對10億個網頁進行操作是一個很痛苦的事情。
從Nutch到Hadoop
Hadoop模仿GFS和MapReduce,將大量的數據分割成小的數據塊,以達到聯合數千個服務器快速搜索的目的,并且提供單一的訪問點。Cutting說,現在已經能過搭建起基于20多臺服務器的演示案例,并在之上做一些實際的工作。但是不會達到所說的數千個服務器程度,因為那么多服務器,在可靠性方面現在還確實沒有辦法保證。
就在Yahoo參與和支持Nutch,并為該項目提供工程師和設備的時候,Yahoo軟件開發副總裁EricBaldeschwieler發現了該項目的另一個用途,也就是迅速分析和處理位于多個網絡服務器上的數據。于是Cutting從Nutch中將分布計算部分單獨分離為Hadoop項目。
Cutting說Yahoo的研發人員希望從廣告以及web服務器獲取大量數據。如果你問一個Yahoo的研發人員如何提高廣告的相關性,他們會說首先把數據收集到一起,然后找到這些數據的早期用戶,這些人就是喜歡相關廣告的人。但是,如何分析網頁內容幾周內所發生的變化,這種變化每個小時都存在,并且會導致分散廣告點擊流量,以及如何在很短的時間內處理上TB的數據。這些都是要處理的大問題在Yahoo將注意力放在安全問題上的時候,Cutting繼續為Hadoop項目尋找突破點。他希望有其他的非Java程序員能夠參與進來,參與的方式可以通過Avro項目。
Java之外
Avro是一種數據交換格式,目標是保證在應用程序升級或修改之后依然能對數據進行訪問。當然目標也包括Python、C、以及C++等其他程序語言能夠支持Hadoop、MapReduce和HDFS。
在2009年8月,Cutting加入了Cloudera公司,該公司的業務是銷售流行開源技術和服務。雖然Hadoop已經應用在很多大型網站上,但是Cutting還是覺得Hadoop適合建立20個點左右的集群,這種集群應該比通過數據庫處理堆積如山的數據更容易。Cloudera的客戶包括NetFlix和三星公司。
如果不希望在自己的企業里使用Hadoop,那么也可以像Amazon和Rackspace一樣,采用Hadoop提供云服務。雖然這樣做有點難,但是已經有很好的支持工具了。Cutting還保證Hadoop的目標就是隱藏復雜的細節,對外提供簡單的接口。
雖然現在Cutting還沒有確切的計劃,但是不會拖延Hadoop的推出。
【編輯推薦】