大數(shù)據(jù)利器Hadoop的應(yīng)用現(xiàn)狀和發(fā)展趨勢(shì)
Hadoop是Apache軟件基金會(huì)旗下的一個(gè)開(kāi)源分布式計(jì)算平臺(tái)。以Hadoop分布式文件系統(tǒng)(HDFS,Hadoop Distributed Filesystem)和MapReduce(GoogleMapReduce的開(kāi)源實(shí)現(xiàn))為核心的Hadoop為用戶提供了系統(tǒng)底層細(xì)節(jié)透明的分布式基礎(chǔ)架構(gòu)。HDFS的高容錯(cuò)性、高伸縮性等優(yōu)點(diǎn)允許用戶將Hadoop部署在低廉的硬件上,形成分布式系統(tǒng);MapReduce分布式編程模型允許用戶在不了解分布式系統(tǒng)底層細(xì)節(jié)的情況下開(kāi)發(fā)并行應(yīng)用程序。所以用戶可以利用Hadoop輕松地組織計(jì)算機(jī)資源,從而搭建自己的分布式計(jì)算平臺(tái),并且可以充分利用集群的計(jì)算和存儲(chǔ)能力,完成海量數(shù)據(jù)的處理。
Hadoop的歷史
Hadoop的源頭是Apache Nutch,該項(xiàng)目開(kāi)始于2002年,是Apache Lucene 的子項(xiàng)目之一。2004年,Google在“操作系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)”(OSDI,Operating System Design and Implementation)會(huì)議上公開(kāi)發(fā)表了題為“MapReduce:Simplified Data Processing on Large Clusters”(MapReduce:簡(jiǎn)化大規(guī)模集群上的數(shù)據(jù)處理)的論文,之后受到啟發(fā)的Doug Cutting等人開(kāi)始嘗試實(shí)現(xiàn)MapReduce計(jì)算框架,并將它與NDFS(Nutch Distributed File System)結(jié)合,以支持Nutch引擎的主要算法。由于NDFS和MapReduce在Nutch引擎中有著良好的應(yīng)用,所以它們于2006年2月被分離出來(lái),成為了一套完整而獨(dú)立的軟件,起名為Hadoop。到了2008年年初,Hadoop已成為 Apache的頂級(jí)項(xiàng)目,它被包括Yahoo!在內(nèi)的很多互聯(lián)網(wǎng)公司所采用?,F(xiàn)在,Hadoop已經(jīng)發(fā)展成為包含HDFS、MapReduce、Pig、ZooKeeper等子項(xiàng)目的集合,用于分布式計(jì)算。
Hadoop的功能與作用
我們?yōu)槭裁葱枰狧adoop呢?眾所周知,現(xiàn)代社會(huì)的信息量增長(zhǎng)速度極快,這些信息里又積累著大量的數(shù)據(jù),其中包括個(gè)人數(shù)據(jù)和工業(yè)數(shù)據(jù)。預(yù)計(jì)到2020年,每年產(chǎn)生的數(shù)字信息將會(huì)有超過(guò)1/3的內(nèi)容駐留在云平臺(tái)中或借助云平臺(tái)處理。我們需要對(duì)這些數(shù)據(jù)進(jìn)行分析和處理,以獲取更多有價(jià)值的信息。那么我們?nèi)绾胃咝У卮鎯?chǔ)和管理這些數(shù)據(jù),如何分析這些數(shù)據(jù)呢?這時(shí)可以選用Hadoop系統(tǒng),它在處理這類(lèi)問(wèn)題時(shí),采用了分布式存儲(chǔ)方式,提高了讀寫(xiě)速度,并擴(kuò)大了存儲(chǔ)容量。采用MapReduce來(lái)整合分布式文件系統(tǒng)上的數(shù)據(jù),可保證分析和處理數(shù)據(jù)的高效。與此同時(shí),Hadoop還采用存儲(chǔ)冗余數(shù)據(jù)的方式保證了數(shù)據(jù)的安全性。
Hadoop中HDFS的高容錯(cuò)特性,以及它是基于Java語(yǔ)言開(kāi)發(fā)的,這使得Hadoop可以部署在低廉的計(jì)算機(jī)集群中,同時(shí)不限于某個(gè)操作系統(tǒng)。Hadoop中HDFS的數(shù)據(jù)管理能力,MapReduce處理任務(wù)時(shí)的高效率,以及它的開(kāi)源特性,使其在同類(lèi)的分布式系統(tǒng)中大放異彩,并在眾多行業(yè)和科研領(lǐng)域中被廣泛采用。
Hadoop的優(yōu)勢(shì)
Hadoop是一個(gè)能夠讓用戶輕松架構(gòu)和使用的分布式計(jì)算平臺(tái)。用戶可以輕松地在Hadoop上開(kāi)發(fā)和運(yùn)行處理海量數(shù)據(jù)的應(yīng)用程序。它主要有以下幾個(gè)優(yōu)點(diǎn):
- 高可靠性。Hadoop按位存儲(chǔ)和處理數(shù)據(jù)的能力值得人們信賴。
 - 高擴(kuò)展性。Hadoop是在可用的計(jì)算機(jī)集簇間分配數(shù)據(jù)并完成計(jì)算任務(wù)的,這些集簇可以方便地?cái)U(kuò)展到數(shù)以千計(jì)的節(jié)點(diǎn)中。
 - 高效性。Hadoop能夠在節(jié)點(diǎn)之間動(dòng)態(tài)地移動(dòng)數(shù)據(jù),并保證各個(gè)節(jié)點(diǎn)的動(dòng)態(tài)平衡,因此其處理速度非???。
 - 高容錯(cuò)性。Hadoop能夠自動(dòng)保存數(shù)據(jù)的多個(gè)副本,并且能夠自動(dòng)將失敗的任務(wù)重新分配。
 
Hadoop的應(yīng)用現(xiàn)狀和發(fā)展趨勢(shì)
由于Hadoop優(yōu)勢(shì)突出,基于Hadoop的應(yīng)用已經(jīng)遍地開(kāi)花,尤其是在互聯(lián)網(wǎng)領(lǐng)域。Yahoo! 通過(guò)集群運(yùn)行Hadoop,以支持廣告系統(tǒng)和Web搜索的研究;Facebook借助集群運(yùn)行Hadoop,以支持其數(shù)據(jù)分析和機(jī)器學(xué)習(xí);百度則使用Hadoop進(jìn)行搜索日志的分析和網(wǎng)頁(yè)數(shù)據(jù)的挖掘工作;淘寶的Hadoop系統(tǒng)用于存儲(chǔ)并處理電子商務(wù)交易的相關(guān)數(shù)據(jù);中國(guó)移動(dòng)研究院基于Hadoop的“大云”(BigCloud)系統(tǒng)用于對(duì)數(shù)據(jù)進(jìn)行分析和并對(duì)外提供服務(wù)。
2008年2月,Hadoop最大貢獻(xiàn)者的Yahoo!構(gòu)建了當(dāng)時(shí)規(guī)模最大的Hadoop應(yīng)用,它們?cè)?000個(gè)節(jié)點(diǎn)上面執(zhí)行了超過(guò)1萬(wàn)個(gè)Hadoop虛擬機(jī)器來(lái)處理超過(guò)5PB的網(wǎng)頁(yè)內(nèi)容,分析大約1兆個(gè)網(wǎng)絡(luò)連接之間的網(wǎng)頁(yè)索引資料。這些網(wǎng)頁(yè)索引資料壓縮后超過(guò)300TB。Yahoo!正是基于這些為用戶提供了高質(zhì)量的搜索服務(wù)。
Hadoop目前已經(jīng)取得了非常突出的成績(jī)。隨著互聯(lián)網(wǎng)的發(fā)展,新的業(yè)務(wù)模式還將不斷涌現(xiàn),Hadoop的應(yīng)用也會(huì)從互聯(lián)網(wǎng)領(lǐng)域向電信、電子商務(wù)、銀行、生物制藥等領(lǐng)域拓展。相信在未來(lái),Hadoop將會(huì)在更多的領(lǐng)域中扮演幕后英雄,為我們提供更加快捷優(yōu)質(zhì)的服務(wù)。
作者簡(jiǎn)介
陸嘉恒,《Hadoop實(shí)戰(zhàn)》作者,中國(guó)人民大學(xué)副教授,新加坡國(guó)立大學(xué)博士,美國(guó)加利福尼亞大學(xué)爾灣分校(University of California, Irvine) 博士后。















 
 
 


 
 
 
 