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