官术网_书友最值得收藏!

1.1 任務一:Hadoop簡介

【任務描述】

經過前期的調研,我們知道大數據涉及Linux、Java和數據分析3方面的內容,為了方便學習大數據技術,我們決定在公司的服務器上部署Hadoop集群,并為每個人搭建一個Hadoop偽分布式環境,方便進行本地測試。

為了方便大家了解大數據,所以在第一個任務中,我們不會涉及非常復雜的內容,僅對大數據的整體進行介紹。

1.1.1 Hadoop介紹

談到大數據,就不得不提與它關系緊密的分布式系統基礎架構——Hadoop,它的Logo是一頭大象,那么Hadoop究竟是怎么產生的呢?它又為什么會被命名為Hadoop呢?下面為大家娓娓道來。

Hadoop的創作者是Doug Cutting,他受Google三篇論文(GFS、MapReduce、BigTable)的啟發而開創了Hadoop項目,Hadoop最初是Doug的女兒給玩具起的名字,后來,Doug Cutting將其用作自己項目的名稱,目前Hadoop項目屬于Apache基金會的一個頂級開源項目。

Hadoop主要用于解決兩個問題:海量數據存儲和海量數據分析。

Hadoop就是為處理海量數據而生,它本質上是一個能夠對大量數據進行分布式處理的軟件框架,并且以一種可靠、高效、可伸縮的方式進行數據處理。因此它具有以下幾個方面的特性。

① 高可擴展性。Hadoop可以使用大量的普通計算機來完成專業服務器才能完成的計算工作,我們可以很方便地根據實際業務需求,橫向擴展集群機器數量。

② 高容錯性。Hadoop可以將數據按照Block進行存儲,而且每一個Block都自動保存多個副本,保證數據不會丟失。對于執行失敗的任務能夠進行重新分配執行。

③ 擴容能力強:Hadoop能夠可靠地存儲和處理十億兆字節(PB)的數據。

④ 成本低:可以通過總計數千個節點的普通機器組成的服務器群來分發以及處理數據。

⑤ 高效率:Hadoop通過分發數據,可以在數據所在的節點上并行地進行處理,處理速度非常快。

⑥ 高可靠性:Hadoop能自動地維護數據的多份副本,并且在任務失敗后能自動地重新部署計算任務。

1.1.2 Hadoop的發展歷史及現狀

1.Hadoop的發展歷史

Hadoop源自2002年的一個開源項目Apache Nutch。其最初的雛形是由Apache Lucene項目的創始人Doug Cutting開發的文本搜索庫。2004年,Nutch項目模仿Google文件系統(Google File System,GFS)開發了自己的分布式文件系統(Nutch Distributed File System,NDFS),也就是HDFS的前身。同年,谷歌公司發表了另一篇具有深遠影響的論文,闡述了MapReduce分布式編程思想。

2005年,Nutch項目團隊參考MapReduce分布式編程思想開發了MapReduce分布式處理框架。

2006年2月,NDFS和MapReduce從Nutch項目獨立出來,成為Lucene項目的一個子項目,被命名為Hadoop。

2008年1月,Hadoop正式成為Apache頂級項目,并逐漸被雅虎、FaceBook等大公司采用。

2008年4月,Hadoop打破世界紀錄,成為排序1TB數據最快的系統,它采用一個由910個節點構成的集群進行運算,排序時間只用了209 s。到2009年,這個排序時間縮短到了62 s。由此,Hadoop迅速躍升為最具影響力的開源分布式開發平臺,在大數據時代獲得大量擁躉。

2.Hadoop的發展現狀

Hadoop憑借其實用性、易用性,自推出以來在幾年間就滿足了大部分工業界的應用需求,還引起了學術界對其的廣泛關注和研究。Hadoop已然成為目前大數據處理主流技術和系統平臺。不夸張地說,Hadoop現在已經成為大數據處理的潛在標準,并在工業界,尤其是互聯網行業中得到大量頻繁的進一步開發和改進。

Yahoo作為Hadoop曾經的最大支持者,截至2012年,其Hadoop機器總節點數目超過420000個,有超過10萬的核心CPU在運行Hadoop。最大的一個單Master節點集群有4500個節點,總的集群存儲容量大于350PB,每月提交的作業數目超過1000萬個。Facebook也使用Hadoop存儲內部日志與多維數據,并以此作為報告、分析和機器學習的數據源。Facebook不僅是Hadoop的忠實用戶,同時它還在Hadoop基礎上建立了一個名為Hive的高級數據倉庫框架,用來進行數據清洗、處理等工作,目前Hive已經正式成為基于Hadoop的Apache一級項目。

在國內,很多大型互聯網企業都逐漸開始使用Hadoop來處理離線數據,例如阿里巴巴、百度、淘寶、網易等。阿里巴巴的Hadoop集群數據覆蓋了它的諸多業務線,非常龐大,它需要為淘寶、支付寶、聚劃算等提供底層的存儲和基礎計算服務。僅看2012年的數據,其集群已經有超過3200臺服務器,總的存儲容量超過60PB,每天的作業數目超過1500000個,到今天,這些數字只會越來越大。騰訊也是使用Hadoop最早的中國互聯網公司之一,由于騰訊的用戶量龐大,因此其集群數量也是非常龐大的。騰訊的社交廣告平臺、騰訊微博、QQ、財付通、微信、QQ音樂等平臺都要依靠Hadoop進行存儲和計算。除此之外,騰訊還利用Hadoop-Hive構建了一套自己的數據倉庫系統,取名為“TDW”。

隨著互聯網行業的發展,Hadoop也在不斷地被應用和升級,相信在未來,它的應用領域和范圍還會逐漸增大。

3.Hadoop版本說明

Hadoop發展至今,主要的版本有兩代,我們習慣將第一代Hadoop稱為Hadoop 1.0,第二代Hadoop稱為Hadoop 2.0,其版本演變如圖1-2所示。

第一代Hadoop包含3個大版本,分別是0.20.x,0.21.x和0.22.x,其中,0.20.x最后演化成1.0.x,變成了穩定版,而0.21.x和0.22.x則增加了NameNode HA等新的重大特性。

第二代Hadoop包含兩個版本,分別是0.23.x和2.x,它們完全不同于Hadoop 1.0,是一套全新的架構,包含HDFS Federation和YARN兩個系統。0.23.x和2.x兩個版本在結構上也有重大的區別,相比于0.23.x,2.x增加了NameNode HA和Wire-compatibility兩個重大特性。

圖1-2 Hadoop版本演變

1.1.3 任務回顧

知識點總結

1.Hadoop起源及其作用。

2.Hadoop的優勢。

3.Hadoop的發展歷史及版本說明。

4.Hadoop的發展現狀。

學習足跡

項目1任務一的學習足跡如圖1-3所示。

圖1-3 項目1任務一學習足跡

思考與練習

1.Hadoop主要解決什么問題?

2.簡述Hadoop的幾大優勢。

3.Hadoop有幾個版本,主要區別是什么?

主站蜘蛛池模板: 贺州市| 吉木萨尔县| 云梦县| 龙海市| 沙河市| 平乐县| 桃园市| 正安县| 随州市| 濉溪县| 新竹县| 霍山县| 田东县| 会理县| 丹凤县| 盱眙县| 高安市| 镶黄旗| 夏邑县| 阳西县| 商南县| 固始县| 正宁县| 山阴县| 塔河县| 永济市| 高淳县| 抚顺市| 南京市| 分宜县| 中牟县| 珠海市| 大冶市| 长汀县| 金川县| 新乡市| 利辛县| 桑植县| 南城县| 迭部县| 双桥区|