作業要求來自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3161
一、 簡述Hadoop平台的起源、發展曆史與應用現狀。
-
Hadoop平台的起源
2003-2004年,Google公布了部分GFS和MapReduce思想的細節,受此啟發的Doug Cutting等人用2年的業餘時間實作了DFS和MapReduce機制,使Nutch性能飙升。然後Yahoo招安Doug Gutting及其項目。
2005年,Hadoop作為Lucene的子項目Nutch的一部分正式引入Apache基金會。
2006年2月被分離出來,成為一套完整獨立的軟體,起名為Hadoop
Hadoop名字不是一個縮寫,而是一個生造出來的詞。是Hadoop之父Doug Cutting兒子毛絨玩具象命名的。
Hadoop的成長過程
Lucene–>Nutch—>Hadoop
總結起來,Hadoop起源于Google的三大論文
GFS:Google的分布式檔案系統Google File System
MapReduce:Google的MapReduce開源分布式并行計算架構
BigTable:一個大型的分布式資料庫
演變關系
GFS—->HDFS
Google MapReduce—->Hadoop MapReduce
BigTable—->HBase
-
Hadoop平台的發展曆史
Hadoop大事記
2004年— 最初的版本(現在稱為HDFS和MapReduce)由Doug Cutting和Mike Cafarella開始實施。
2005年12月— Nutch移植到新的架構,Hadoop在20個節點上穩定運作。
2006年1月— Doug Cutting加入雅虎。
2006年2月— Apache Hadoop項目正式啟動以支援MapReduce和HDFS的獨立發展。
2006年2月— 雅虎的網格計算團隊采用Hadoop。
2006年4月— 标準排序(10 GB每個節點)在188個節點上運作47.9個小時。
2006年5月— 雅虎建立了一個300個節點的Hadoop研究叢集。
2006年5月— 标準排序在500個節點上運作42個小時(硬體配置比4月的更好)。
2006年11月— 研究叢集增加到600個節點。
2006年12月— 标準排序在20個節點上運作1.8個小時,100個節點3.3小時,500個節點5.2小時,900個節點7.8個小時。
2007年1月— 研究叢集到達900個節點。
2007年4月— 研究叢集達到兩個1000個節點的叢集。
2008年4月— 赢得世界最快1TB資料排序在900個節點上用時209秒。
2008年7月— 雅虎測試節點增加到4000個
2008年9月— Hive成為Hadoop的子項目
2008年11月— Google宣布其MapReduce用68秒對1TB的程式進行排序
2008年10月— 研究叢集每天裝載10TB的資料。
2008年— 淘寶開始投入研究基于Hadoop的系統–雲梯。雲梯總容量約9.3PB,共有1100台機器,每天處理18000道作業,掃描500TB資料。
2009年3月— 17個叢集總共24 000台機器。
2009年3月— Cloudera推出CDH(Cloudera’s Dsitribution Including Apache Hadoop)
2009年4月— 赢得每分鐘排序,雅虎59秒内排序500 GB(在1400個節點上)和173分鐘内排序100 TB資料(在3400個節點上)。
2009年5月— Yahoo的團隊使用Hadoop對1 TB的資料進行排序隻花了62秒時間。
2009年7月— Hadoop Core項目更名為Hadoop Common;
2009年7月— MapReduce 和 Hadoop Distributed File System (HDFS) 成為Hadoop項目的獨立子項目。
2009年7月— Avro 和 Chukwa 成為Hadoop新的子項目。
2009年9月— 亞聯BI團隊開始跟蹤研究Hadoop
2009年12月—亞聯提出橘雲戰略,開始研究Hadoop
2010年5月— Avro脫離Hadoop項目,成為Apache頂級項目。
2010年5月— HBase脫離Hadoop項目,成為Apache頂級項目。
2010年5月— IBM提供了基于Hadoop 的大資料分析軟體——InfoSphere BigInsights,包括基礎版和企業版。
2010年9月— Hive( Facebook) 脫離Hadoop,成為Apache頂級項目。
2010年9月— Pig脫離Hadoop,成為Apache頂級項目。
2011年1月— ZooKeeper 脫離Hadoop,成為Apache頂級項目。
2011年3月— Apache Hadoop獲得Media Guardian Innovation Awards 。
2011年3月— Platform Computing 宣布在它的Symphony軟體中支援Hadoop MapReduce API。
2011年5月— Mapr Technologies公司推出分布式檔案系統和MapReduce引擎——MapR Distribution for Apache Hadoop。
2011年5月— HCatalog 1.0釋出。該項目由Hortonworks 在2010年3月份提出,HCatalog主要用于解決資料存儲、中繼資料的問題,主要解決HDFS的瓶頸,它提供了一個地方來存儲資料的狀态資訊,這使得 資料清理和歸檔工具可以很容易的進行處理。
2011年4月— SGI( Silicon Graphics International )基于SGI Rackable和CloudRack伺服器産品線提供Hadoop優化的解決方案。
2011年5月— EMC為客戶推出一種新的基于開源Hadoop解決方案的資料中心裝置——GreenPlum HD,以助其滿足客戶日益增長的資料分析需求并加快利用開源資料分析軟體。Greenplum是EMC在2010年7月收購的一家開源資料倉庫公司。
2011年5月— 在收購了Engenio之後, NetApp推出與Hadoop應用結合的産品E5400存儲系統。
2011年6月— Calxeda公司(之前公司的名字是Smooth-Stone)發起了“開拓者行動”,一個由10家軟體公司組成的團隊将為基于Calxeda即将推出的ARM系統上晶片設計的伺服器提供支援。并為Hadoop提供低功耗伺服器技術。
2011年6月— 資料內建供應商Informatica釋出了其旗艦産品,産品設計初衷是處理當今事務和社會媒體所産生的海量資料,同時支援Hadoop。
2011年7月— Yahoo!和矽谷風險投資公司 Benchmark Capital建立了Hortonworks 公司,旨在讓Hadoop更加魯棒(可靠),并讓企業使用者更容易安裝、管理和使用Hadoop。
2011年8月— Cloudera公布了一項有益于合作夥伴生态系統的計劃——建立一個生态系統,以便硬體供應商、軟體供應商以及系統內建商可以一起探索如何使用Hadoop更好的洞察資料。
2011年8月— Dell與Cloudera聯合推出Hadoop解決方案——Cloudera Enterprise。Cloudera Enterprise基于Dell PowerEdge C2100機架伺服器以及Dell PowerConnect 6248以太網交換機
-
Hadoop平台的應用現狀
國内外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、支付寶提供底層的基礎計算和存儲服務,主要應用包括:
資料平台系統
搜尋支撐
廣告系統
資料魔方
量子統計
淘資料
搜尋排行榜
為了便于開發,其還開發了WebIDE繼承開發環境,使用的相關系統包括:Hive、Pig、Mahout、Hbase等。
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。
奇虎360在Hadoop-HBase方面的工作主要為了優化減少HBase叢集的啟停時間,并優化減少RS異常退出後的恢複時間。
5.華為
華為公司也是Hadoop主要做出貢獻的公司之一,排在Google和Cisco的前面,華為對Hadoop的HA方案,以及HBase領域有深入研究,并已經向業界推出了自己的基于Hadoop的大資料解決方案。
6.中國移動
中國移動于2010年5月正式推出大雲BigCloud1.0,叢集節點達到了1024。中國移動的大雲基于Hadoop的MapReduce實作了分布式計算,并利用了HDFS來實作分布式存儲,并開發了基于Hadoop的資料倉庫系統HugeTable,并行資料挖掘工具集BC-PDM,以及并行資料抽取轉化BC-ETL,對象存儲系統BC-ONestd等系統,并開源了自己的BC-Hadoop
版本。
中國移動主要在電信領域應用Hadoop,其規劃的應用領域包括:
經分KPI集中運算
經分系統ETL/DM
結算系統
信令系統
雲計算資源池系統
物聯網應用系統
IDC服務等
7.盤古搜尋
盤古搜尋(目前已和即刻搜尋合并為中國搜尋)主要使用Hadoop叢集作為搜尋引擎的基礎架構支撐系統,截至2013年年初,叢集中機器數量總計超過380台,存儲總量總計3.66PB,主要包括的應用如下。
網頁存儲
網頁解析
建索引
Pagerank計算
日志統計分析
推薦引擎等
即刻搜尋(人民搜尋)
即刻搜尋(目前已與盤古搜尋合并為中國搜尋)也使用Hadoop作為其搜尋引擎的支撐系統,截至2013年,其Hadoop叢集規模總計超過500台節點,配置為雙路6核心CPU,48G記憶體,11×2T存儲,叢集總容量超過10PB,使用率在78%左右,每天處理讀取的資料量約為500TB,峰值大于1P,平均約為300TB。
即刻搜尋在搜尋引擎中使用sstable格式存儲網頁并直接将sstable檔案存儲在HDFS上面,主要使用HadoopPipes程式設計接口進行後續處理,也使用Streaming接口處理資料,主要的應用包括:
解析
推薦引擎
國外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編寫送出的。
Yahoo的Hadoop應用主要包括以下幾個方面:
支援廣告系統
使用者行為分析
支援Web搜尋
反垃圾郵件系統
會員反濫用
内容靈活
個性化推薦
同時Pig研究并測試支援超大規模節點叢集的Hadoop系統。
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分析使用者行為的相似性。
6.Datagraph
Datagraph主要使用Hadoop批量處理大量的RDF資料集,尤其是利用Hadoop對RDF資料建立索引。Datagraph也使用Hadoop為客戶執行長時間運作的離線SPARQL查詢。Datagraph是使用AmazonS3和Cassandra存儲RDF資料輸入和輸出檔案的,并已經開發了一個基于MapReduce處理RDF資料的Ruby架構——RDFgrid。
Datagraph主要使用Ruby、RDF.rb以及自己開發的RDFgrid架構來處理RDF資料,主要使用HadoopStreaming接口。
7.EBay
單叢集超過532節點叢集,單節點8核心CPU,容量超過5.3PB存儲。大量使用的MapReduce的Java接口、Pig、Hive來處理大規模的資料,還使用HBase進行搜尋優化和研究。
8.IBM
IBM藍雲也利用Hadoop來建構雲基礎設施。IBM藍雲使用的技術包括:Xen和PowerVM虛拟化的Linux作業系統映像及Hadoop并行工作量排程,并釋出了自己的Hadoop發行版及大資料解決方案。
9.Last.Fm
Last.Fm主要用于圖表計算、專利申報、日志分析、A/B測試、資料集合并等,也使用Hadoop對超過百萬的曲目進行大規模的音頻特征分析。
節點超過100台機器,叢集節點配置雙四核[email protected]@2.13GHz,24GB記憶體,8TB(4×2TB)存儲。
10.LinkedIn
LinkedIn有多種硬體配置的Hadoop叢集,主要叢集配置如下:
800節點叢集,基于Westmere的惠普SL170X與2×4的核心,24GB記憶體,6×2TBSATA。
1900節點叢集,基于Westmere的超微-HX8DTT,與2×6的核心,24GB記憶體,6×2TBSATA。
1400節點叢集,基于SandyBridge超微與2×6的核心,32GB記憶體,6×2TBSATA。
使用的軟體如下:
作業系統使用RHEL6.3。
JDK使用SUNJDK1.6.0_32。
Apache的Hadoop0.20.2的更新檔和ApacheHadoop的1.0.4更新檔。
Azkaban和Azkaban用于作業排程。
Hive、Avro、Kafka等。
11.MobileAnalytic.TV
主要使用Hadoop應用在并行化算法領域,涉及的MapReduce應用算法如下:
資訊檢索和分析
機器生成的内容——文檔、文本、音頻、視訊
自然語言處理
項目組合包括:
移動社交網絡
網絡爬蟲
文本到語音轉化
音頻和視訊自動生成
-
列舉發展過程中重要的事件
2004年12月。Google發表了MapReduce論文,MapReduce允許跨伺服器叢集,運作超大規模并行計算。Doug Cutting意識到可以用MapReduce來解決Lucene的擴充問題。
Google發表了GFS論文。
Doug Cutting根據GFS和MapReduce的思想建立了開源Hadoop架構。
2006年1月,Doug Cutting加入Yahoo,上司Hadoop的開發。
Doug Cutting任職于Cloudera公司。
2009年7月,Doug Cutting當選為Apache軟體基金會董事,2010年9月,當選為chairman。
各大企業開發自己的發行版,并為Apache Hadoop貢獻代碼。
-
主要版本
1.DKhadoop發行版:有效的內建了整個HADOOP生态系統的全部元件,并深度優化,重新編譯為一個完整的更高性能的大資料通用計算平台,實作了各部件的有機協調。是以DKH相比開源的大資料平台,在計算性能上有了高達5倍(最大)的性能提升。DKhadoop将複雜的大資料叢集配置簡化至三種節點(主節點、管理節點、計算節點),極大的簡化了叢集的管理運維,增強了叢集的高可用性、高可維護性、高穩定性。
2.Cloudera發行版:CDH是Cloudera的hadoop發行版,完全開源,比Apache hadoop在相容性,安全性,穩定性上有增強。
3.€Hortonworks發行版:Hortonworks 的主打産品是Hortonworks Data Platform (HDP),也同樣是100%開源的産品,其版本特點:HDP包括穩定版本的Apache Hadoop的所有關鍵元件;安裝友善,HDP包括一個現代化的,直覺的使用者界面的安裝和配置工具。
- 主要廠商
1.IBM(國際商業機器公司)或萬國商業機器公司,簡稱IBM(International Business Machines Corporation)。總公司在紐約州阿蒙克市。1911年托馬斯·沃森創立于美國,是全球最大的資訊技術和業務解決方案公司,擁有全球雇員 30多萬人,業務遍及160多個國家和地區。
2.EMC(易安信)為一家美國資訊存儲資訊科技公司, 主要業務為資訊存儲及管理産品、服務和解決方案。EMC公司建立于1979年,總部在馬薩諸塞州霍普金頓市。2003年,EMC收購了VMware。2015年10月,EMC被DELL
3.甲骨文公司,全稱甲骨文股份有限公司(甲骨文軟體系統有限公司),是全球最大的企業級軟體公司,總部位于美國加利福尼亞州的紅木灘。1989年正式進入中國市場。2013年,甲骨文已超越IBM,成為繼Microsoft後全球第二大軟體公司。
4.Cloudera成立于2008年,在企業和大型機構在尋求解決棘手的大資料問題時,往往會使用開源軟體基礎架構Hadoop的服務。
二、下次上課之前,必須成功完成Hadoop的安裝與配置。
- 完成配置ssh無密碼登陸

- 完成java環境的安裝及環境變量的配置
- 完成hadoop的安裝
- 完成僞分布式Hadoop的配置及啟動
- 進行僞分布式執行個體的操作
- 完成運作hadoop僞分布式執行個體,下圖為運作結果
- 關閉hadoop的操作