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