雖然是別人寫的,但Murthy的工作就是修復(fù)它。誰也不會(huì)想到,這個(gè)小bug,數(shù)年后卻為Hadoop生成了一個(gè)全新的路徑;一個(gè)幾乎和大數(shù)據(jù)概念幾乎等同的軟件系統(tǒng)。
今天,Hadoop應(yīng)用在Facebook、Twitter、eBay、Yahoo等很多公司中,但2007年時(shí),打那個(gè)電話之前,它不是這么有能耐的。
Doug Cutting加入雅虎
受Google 2004年白皮書的影響,打電話的一年之前,Doug Cutting和Michael Cafarella創(chuàng)建了Hadoop平臺(tái), 后來Doug Cutting加入雅虎,Murthy則被叫去繼續(xù)研究雅虎的Hadoop問題, 因?yàn)樗麑?duì)該系統(tǒng)軟件比較有經(jīng)驗(yàn)。
當(dāng)時(shí)他看了看邀請(qǐng)表示“誰TMD要去用Java寫系統(tǒng)軟件呢?”但后來還是接受了,但是當(dāng)天晚上,他又繼續(xù)詛咒“我TMD沒事干嘛去調(diào)試別人的Hadoop代碼呢?”但之后他發(fā)現(xiàn)自己陷入了更深的詛咒,因?yàn)樗l(fā)現(xiàn)處理過后的應(yīng)用程序(廣告定位App)并沒有真正意義上地運(yùn)行Hadoop。
Hadoop實(shí)際上是由兩部分組成的軟件平臺(tái),一個(gè)叫做Hadoop分布式文件系統(tǒng)的存儲(chǔ)系統(tǒng)(HDFS),一個(gè)叫MapReduce的處理系統(tǒng)。你可以轉(zhuǎn)儲(chǔ)大量的數(shù)據(jù)在這個(gè)系統(tǒng)里面,然后被分布在數(shù)十、數(shù)百、數(shù)千臺(tái)服務(wù)器中,再用MapReduce在集群里把大問題拆分成小問題。這就是Hadoop的魅力:可以用大量廉價(jià)的商品服務(wù)器來省錢,而非購買少數(shù)昂貴的超級(jí)計(jì)算機(jī)。
不過有個(gè)小問題是,有時(shí)候開發(fā)者希望把數(shù)據(jù)從其中一個(gè)集群抽離出來,不用運(yùn)行整個(gè)MapReduce,這也是當(dāng)時(shí)雅虎廣告定位App的問題,當(dāng)時(shí)這個(gè)給Murthy的第一感覺是Hadoop需要另一個(gè)系統(tǒng)。
Murthy的第一感覺是Hadoop需要另一個(gè)系統(tǒng)
當(dāng)時(shí)用臨時(shí)手段解決了那個(gè)bug后,他開始籌謀這怎么徹底解決那個(gè)大bug。 從2008到2010年,Hadoop團(tuán)隊(duì)一直在關(guān)注如何提高Hadoop的安全性和穩(wěn)定性,使其更具企業(yè)特征。許多相關(guān)的系統(tǒng),比如被內(nèi)置在主要分布集群中的Pig和Hive就是希望打造不用運(yùn)行MapReduce而查詢Hadoop的軟件,但其實(shí)還是沒抽離出MapReduce,其查詢只是被譯成從MapReduce的方式罷了。
2010年中的時(shí)候,Hadoop團(tuán)隊(duì)認(rèn)為Hadoop是時(shí)候改革了,Murthy和所有 Hadoop社區(qū)的開發(fā)者集結(jié)起來準(zhǔn)備解決這個(gè)老問題,最后成果就是后來加入Hadoop 2.0的YARN附件。
YARN誕生
YARN是一個(gè)坐落在HDFS上的系統(tǒng),支持開發(fā)者創(chuàng)建和HDFS互動(dòng)的應(yīng)用,無需啟動(dòng)整個(gè)MapReduce,Murthy表示:“2.0其實(shí)不是一個(gè)任意數(shù),是Hadoop第二體系”。

YARN確定使用后,許多新的軟件也開始被創(chuàng)建出來進(jìn)一步補(bǔ)充Hadoop。比如Twitter使用Spark用來實(shí)時(shí)處理數(shù)據(jù);雅虎使用Spark用來處理存儲(chǔ)的數(shù)據(jù)。Cloudera創(chuàng)建了Impala提高了查詢Hadoop的速度。
但Murthy表示,只要開發(fā)者愿意,他們就可以使用YARN來查詢Hadoop,使得整個(gè)大數(shù)據(jù)的系統(tǒng)變得更為有效。
IT檢測(cè)公司Nodeable就在自己的Storm和Hadoop之間建立了一個(gè)整合系統(tǒng),稱為StreamReduce,其副總裁(Appcelerato副總裁,Nodeable被Appcelerator收購 了)表示YARN就是將來他們要進(jìn)行批處理或者實(shí)時(shí)處理時(shí)需要的東西。
Hadoop 2.0
Spark主要在HDFS上運(yùn)行,雖然它丟棄了MapReduce,遠(yuǎn)離了官方的Hadoop,但YARN足夠讓它們相互聯(lián)系,如果只想要一個(gè)簡單的部署,可以不用YARN,但是有的用戶喜歡它,愿意安裝它。
目前YARN已經(jīng)存在在不少Hadoop分布中,包括Cloudera分布等。官方Hadoop 2.0開源項(xiàng)目beta版本馬上要推出了,完全滲入市場(chǎng)可能還需要一段時(shí)間,但是它普及的時(shí)候?qū)?huì)帶來很大的變化,無論如何,我們要感謝那個(gè)凌晨3點(diǎn)的電話。(宗仁)

{{item.content}}