一.Hadoop 産生背景
• 1. HADOOP最早起源于Nutch。Nutch的設計目标是建構一個大型的全網搜尋引
擎,包括網頁抓取、索引、查詢等功能,但随着抓取網頁數量的增加,
• 遇到了嚴重的可擴充性問題——如何解決數十億網頁的存儲和索引問題。
• 2. 2003年、2004年谷歌發表的兩篇論文為該問題提供了可行的解決方案。
——分布式檔案系統(GFS),可用于處理海量網頁的存儲
——分布式計算架構MAPREDUCE,可用于處理海量網頁的索引計算問題。
• 3. Nutch的開發人員完成了相應的開源實作HDFS和MAPREDUCE,并從Nutch中
剝離成為獨立項目HADOOP,到2008年1月,HADOOP成為Apache頂級項目,迎來
了它的快速發展期。
3.Hadoop 與 Hadoop生态圈

二 國外Hadoop的應用現狀:
1.Yahoo
Yahoo是Hadoop的最大支援者,截至2012年,Yahoo的Hadoop機器總節點數目超過42?000個,有超過10萬的核心CPU在運作Hadoop。最大的一個單Master節點叢集有4500個節點(每個節點雙路4核心CPUboxesw,4×1TB磁盤,16GBRAM)。總的叢集存儲容量大于350PB,每月送出的作業數目超過1000萬個,在Pig中超過60%的Hadoop作業是使用Pig編寫送出的。
2.Facebook
Facebook使用Hadoop存儲内部日志與多元資料,并以此作為報告、分析和機器學習的資料源。目前Hadoop叢集的機器節點超過1400台,共計11?200個核心CPU,超過15PB原始存儲容量,每個商用機器節點配置了8核CPU,12TB資料存儲,主要使用StreamingAPI和JavaAPI程式設計接口。Facebook同時在Hadoop基礎上建立了一個名為Hive的進階資料倉庫架構,Hive已經正式成為基于Hadoop的Apache一級項目。此外,還開發了HDFS上的FUSE實作。
3.A9.com
A9.com為Amazon使用Hadoop建構了商品搜尋索引,主要使用StreamingAPI以及C++、Perl和Python工具,同時使用Java和StreamingAPI分析處理每日數以百萬計的會話。A9.com為Amazon建構的索引服務運作在100節點左右的Hadoop叢集上。
4.Adobe
Adobe主要使用Hadoop及HBase,同于支撐社會服務計算,以及結構化的資料存儲和處理。大約有超過30個節點的Hadoop-HBase生産叢集。Adobe将資料直接持續地存儲在HBase中,并以HBase作為資料源運作MapReduce作業處理,然後将其運作結果直接存到HBase或外部系統。Adobe在2008年10月就已經将Hadoop和HBase應用于生産叢集。
5.CbIR
自2008年4月以來,日本的CbIR(Content-basedInformationRetrieval)公司在AmazonEC2上使用Hadoop來建構圖像處理環境,用于圖像産品推薦系統。使用Hadoop環境生成源資料庫,便于Web應用對其快速通路,同時使用Hadoop分析使用者行為的相似性。
三 國内Hadoop的應用現狀:
Hadoop在國内的應用主要以網際網路公司為主,下面主要介紹大規模使用Hadoop或研究Hadoop的公司。
1.百度
百度在2006年就開始關注Hadoop并開始調研和使用,在2012年其總的叢集規模達到近十個,單叢集超過2800台機器節點,Hadoop機器總數有上萬台機器,總的存儲容量超過100PB,已經使用的超過74PB,每天送出的作業數目有數千個之多,每天的輸入資料量已經超過7500TB,輸出超過1700TB。
百度的Hadoop叢集為整個公司的資料團隊、大搜尋團隊、社群産品團隊、廣告團隊,以及LBS團體提供統一的計算和存儲服務,主要應用包括:
- 資料挖掘與分析。
- 日志分析平台。
- 資料倉庫系統。
- 推薦引擎系統。
- 使用者行為分析系統。
同時百度在Hadoop的基礎上還開發了自己的日志分析平台、資料倉庫系統,以及統一的C++程式設計接口,并對Hadoop進行深度改造,開發了HadoopC++擴充HCE系統。
2.阿裡巴巴
阿裡巴巴的Hadoop叢集截至2012年大約有3200台伺服器,大約30?000實體CPU核心,總記憶體100TB,總的存儲容量超過60PB,每天的作業數目超過150?000個,每天hivequery查詢大于6000個,每天掃描資料量約為7.5PB,每天掃描檔案數約為4億,存儲使用率大約為80%,CPU使用率平均為65%,峰值可以達到80%。阿裡巴巴的Hadoop叢集擁有150個使用者組、4500個叢集使用者,為淘寶、天貓、一淘、聚劃算、CBU、支付寶提供底層的基礎計算和存儲服務,主要應用包括:
- 資料平台系統。
- 搜尋支撐。
- 廣告系統。
- 資料魔方。
- 量子統計。
- 淘資料。
- 搜尋排行榜。
3.騰訊
騰訊也是使用Hadoop最早的中國網際網路公司之一,截至2012年年底,騰訊的Hadoop叢集機器總量超過5000台,最大單叢集約為2000個節點,并利用Hadoop-Hive建構了自己的資料倉庫系統TDW,同時還開發了自己的TDW-IDE基礎開發環境。騰訊的Hadoop為騰訊各個産品線提供基礎雲計算和雲存儲服務,其支援以下産品:
- 騰訊社交廣告平台。
- 搜搜(SOSO)。
- 拍拍網。
- 騰訊微網誌。
- 騰訊羅盤。
- QQ會員。
- 騰訊遊戲支撐。
- QQ空間。
- 朋友網。
- 騰訊開放平台。
- 财付通。
- 手機QQ。
- QQ音樂。
4.奇虎360
奇虎360主要使用Hadoop-HBase作為其搜尋引擎so.com的底層網頁存儲架構系統,360搜尋的網頁可到千億記錄,資料量在PB級别。截至2012年年底,其HBase叢集規模超過300節點,region個數大于10萬個,使用的平台版本如下。
- HBase版本:facebook0.89-fb。
- HDFS版本:facebookHadoop-20。
四 Hadoop的安裝:
Hadoop更改二個配置檔案:
Hadoop 的DateNode啟動成功:
安裝僞分布式Hadoop後,運作例子:
執行後的結果: