這篇文章簡單介紹了Hadoop相關(guān)的技術(shù)生態(tài)圈,同時(shí)共享一份前一陣編寫的實(shí)踐教程,需要者自取。
在云計(jì)算和大數(shù)據(jù)大行其道的今天,Hadoop及其相關(guān)技術(shù)起到了非常重要的作用,是這個(gè)時(shí)代不容忽視的一個(gè)技術(shù)平臺(tái)。事實(shí)上,由于其開源、低成本和和前所未有的擴(kuò)展性,Hadoop正成為新一代的數(shù)據(jù)處理平臺(tái)。
Hadoop是基于Java語言構(gòu)建的一套分布式數(shù)據(jù)處理框架,從其歷史發(fā)展角度我們就可以看出,Hadoop一誕生,就具備高貴的血統(tǒng),發(fā)展順風(fēng)順?biāo)?/p>
- 2004年,Google發(fā)表論文,向全世界介紹了MapReduce
- 2005年初,為了支持Nutch搜索引擎項(xiàng)目,Nutch的開發(fā)者基于Google發(fā)布的MapReduce報(bào)告,在Nutch上開發(fā)了一個(gè)可工作的MapReduce應(yīng)用
- 2005年中,所有主要的Nutch算法被移植到MapReduce和NDFS(Nutch Distributed File System )環(huán)境來運(yùn)行
- 2006年2月,Apache Hadoop項(xiàng)目正式啟動(dòng)以支持MapReduce和HDFS的獨(dú)立發(fā)展
- 2007年,百度開始使用Hadoop做離線處理,目前差不多80%的Hadoop集群用作日志處理
- 2008年,淘寶開始投入研究基于Hadoop的系統(tǒng)–云梯,并將其用于處理電子商務(wù)相關(guān)數(shù)據(jù)。云梯1的總?cè)萘看蟾艦?.3PB,包含了1100臺(tái)機(jī)器,每天處理約18000道作業(yè),掃描500TB數(shù)據(jù)
- 2008年1月,Hadoop成為Apache頂級項(xiàng)目
- 2008年7月,Hadoop打破1TB數(shù)據(jù)排序基準(zhǔn)測試記錄。Yahoo的一個(gè)Hadoop集群用209秒完成1TB數(shù)據(jù)的排序,比上一年的紀(jì)錄保持者保持的297秒快了將近90秒
……
很多人開始接觸Hadoop時(shí),都以為這是一個(gè)項(xiàng)目,其實(shí)Hadoop除了核心的MapReduce和HDFS之外,還包含了眾多的子項(xiàng)目,換句話說,Hadoop已經(jīng)形成了一個(gè)豐富的技術(shù)生態(tài)圈:

為什么會(huì)有這樣的技術(shù)誕生呢?
簡而言之,隨著互聯(lián)網(wǎng)的飛速發(fā)展,大量數(shù)據(jù)的存儲(chǔ)和分析遇到瓶頸,磁盤容量的增長遠(yuǎn)遠(yuǎn)大于磁盤讀取速度,1TB的磁盤,數(shù)據(jù)傳輸速度100MB/s,讀一遍2.5H,寫數(shù)據(jù)就別提了,心拔涼拔涼的(當(dāng)然SSD在生產(chǎn)環(huán)境的實(shí)際應(yīng)用,大大緩解了這一窘境)。數(shù)據(jù)量的增長在互聯(lián)網(wǎng)應(yīng)用中體現(xiàn)的非常明顯,好的互聯(lián)網(wǎng)應(yīng)用動(dòng)輒就有上千萬的用戶,無論是數(shù)據(jù)的容量、壓力都與日俱增。另外在企業(yè)應(yīng)用層面,很多大中型企業(yè),信息化進(jìn)行了十幾年,企業(yè)內(nèi)部積累了大量的非結(jié)構(gòu)化數(shù)據(jù),各種類型的文件需要存儲(chǔ)、備份、分析、展示,苦于沒有很好的辦法進(jìn)行數(shù)據(jù)處理。
那么如何解決這樣的問題,技術(shù)牛娃自然有辦法,比如磁盤數(shù)據(jù)的并行讀寫,數(shù)據(jù)分塊,分布式文件系統(tǒng),冗余數(shù)據(jù),MapReduce算法等等,最后Hadoop等類似的技術(shù)應(yīng)運(yùn)而生。于是我等草民有福了。
不是有那么一句話么,大數(shù)據(jù)勝于好算法,如果數(shù)據(jù)足夠多,可能產(chǎn)生出意想之外的應(yīng)用,看看現(xiàn)在Facebook、Twitter、微博相關(guān)的衍生應(yīng)用就知道了。另外,無論算法好壞,更多的數(shù)據(jù)總能帶了來更好的推薦效果,這也是顯而易見。
所以,無論云計(jì)算和大數(shù)據(jù)口號喊的多么虛頭八腦,但Hadoop都是一門非常務(wù)實(shí)的技術(shù),無論你身在互聯(lián)網(wǎng)企業(yè)還是傳統(tǒng)軟件公司,都應(yīng)該學(xué)習(xí)和了解這門技術(shù)。
下面是我前一陣內(nèi)部技術(shù)交流寫的一份Hadoop簡介和實(shí)踐的教程類KeyNote,希望能有點(diǎn)幫助。
多說一句,Hadoop的部署提供三種模式,本地模式、偽分布模式和全分布模式,建議大家采用第三種進(jìn)行實(shí)踐,這樣對系統(tǒng)用法的理解更深入一些。這就需要你至少要兩臺(tái)機(jī)器進(jìn)行集群,比較好的方式是使用虛擬機(jī)。Hadoop原生支持Unix/Linux,你要是想在Windows上玩,還需要裝模擬環(huán)境cygwin。這時(shí)候就體現(xiàn)出Mac用戶的優(yōu)勢了,我是采用Mac做Master,起兩臺(tái)虛擬Linux做Slave,SSD+8G內(nèi)存,毫無壓力。這樣做的好處其實(shí)在Unix編程思想這部書中也提到過,就是用最小工作環(huán)境達(dá)到最大的工作范圍。
作者:池建強(qiáng)
更多詳細(xì)信息,請您微信關(guān)注“計(jì)算網(wǎng)”公眾號: