一起認(rèn)識Hadoop(cai)資料_第1頁
一起認(rèn)識Hadoop(cai)資料_第2頁
一起認(rèn)識Hadoop(cai)資料_第3頁
一起認(rèn)識Hadoop(cai)資料_第4頁
一起認(rèn)識Hadoop(cai)資料_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

一起認(rèn)識HadoopCai目錄引言Hadoop由來Hadoop發(fā)展Hadoop生態(tài)圈引言云計算的關(guān)鍵在于分布式計算和虛擬化。在虛擬化和云計算共同構(gòu)成的架構(gòu)里,虛擬化有效分離了硬件與軟件,使人們將精力集中于軟件提供的服務(wù)上,因此,虛擬化為云計算提供了堅定的基礎(chǔ)。分布式計算則是云計算創(chuàng)造出的一種全新的計算模式,用作大規(guī)模數(shù)據(jù)處理,它是云計算的核心,也是云計算的發(fā)展趨勢。大數(shù)據(jù)(bigdata)(巨量資料),是指無法在可承受的時間范圍內(nèi)用常規(guī)軟件工具進行捕捉、管理和處理的數(shù)據(jù)集合。Volume大量:像百度,淘寶,騰訊,F(xiàn)acebook,Twitter等網(wǎng)站上的一些信息,這肯定算是大數(shù)據(jù)了,都要存儲下來。Variety多樣:數(shù)據(jù)的多樣性,是說數(shù)據(jù)可能是結(jié)構(gòu)型的數(shù)據(jù),也可能是非結(jié)構(gòu)行的文本,圖片,視頻,語音,日志,郵件等。Velocity實時:大數(shù)據(jù)需要快速的,實時的進行處理。如果說對時間要求低,那弄幾個機器,對小數(shù)據(jù)進行處理,等個十天半月的出來結(jié)果,這樣也沒有什么意義了。Veracity不確定:數(shù)據(jù)是存在真?zhèn)蔚?,各種各樣的數(shù)據(jù),有的有用,有的沒用。很難辨析。引言引言Volume——數(shù)據(jù)體量巨大。從TB級別,增長到PB級別。截至目前,人類生產(chǎn)的所有印刷材料的數(shù)據(jù)量是200PB(1PB=1024TB),而歷史上全人類說過的所有的話的數(shù)據(jù)量大約是5EB(1EB=1024PB)。當(dāng)前,典型個人計算機硬盤的容量為TB量級,而一些大企業(yè)的數(shù)據(jù)量已經(jīng)接近EB量級。Velocity——處理速度快,1秒定律。根據(jù)IDC的“數(shù)字宇宙”的報告,預(yù)計到2020年,全球數(shù)據(jù)使用量將達(dá)到35.2ZB。在如此海量的數(shù)據(jù)面前,處理數(shù)據(jù)的效率就是企業(yè)的生命。Variety——數(shù)據(jù)類型繁多,絡(luò)日志、視頻、圖片、地理位置信息等等。類型的多樣性也讓數(shù)據(jù)被分為結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。相對于以往便于存儲的以文本為主的結(jié)構(gòu)化數(shù)據(jù),非結(jié)構(gòu)化數(shù)據(jù)越來越多,這些多類型的數(shù)據(jù)對數(shù)據(jù)的處理能力提出了更高要求。Veracity——只有真實而準(zhǔn)確的數(shù)據(jù)才能讓對數(shù)據(jù)的管控和治理真正有意義。引言Hadoop作為分布式計算的一種開源軟件解決方案,也是當(dāng)今最熱門的分布式框架,為個人和企業(yè)提供一個可靠、可伸縮、低成本的云計算模式。Hadoop是適合大數(shù)據(jù)的分布式存儲與計算平臺。Hadoop是開源云計算平臺。引言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)平衡,因此處理速度非??臁8呷蒎e性。Hadoop能夠自動保存數(shù)據(jù)的多個副本,并且能夠自動將失敗的任務(wù)重新分配。低成本。與一體機、商用數(shù)據(jù)倉庫以及QlikView、YonghongZ-Suite等數(shù)據(jù)集市相比,hadoop是開源的,項目的軟件成本因此會大大降低。Hadoop的由來Hadoop是適合大數(shù)據(jù)的分布式存儲與計算平臺作者:DougCutting受google公司三篇論文的影響Hadoop的由來Hadoop這個名字不是一個縮寫,而是一個虛構(gòu)的名字。創(chuàng)始人DougCutting解釋Hadoop的得名:“這個名字是我孩子給一個棕黃色的大象玩具命名的。我的命名標(biāo)準(zhǔn)就是簡短,容易發(fā)音和拼寫,沒有太多的意義,并且不會被用于別處。小孩子恰恰是這方面的高手。”谷歌來自斯坦福BackRub項目,為了能夠代表海量數(shù)據(jù)索引和巨大的信息量,安德森建議了“Googol”一詞,指的是10的100次冪(方),代表互聯(lián)網(wǎng)上的海量資源。但安德森在搜索該名字是否被注冊時誤打成了“google”。Googol是由美國數(shù)學(xué)家EdwardKasner9歲的侄子MiltonSirotta發(fā)明的。Hadoop的由來DougCutting被Yahoo!招安雇傭Apache基金會(版本線0.X,1.X,2.X。0.X是最穩(wěn)定的)Cloudera使用下載最多的版本,穩(wěn)定,有商業(yè)支持,在Apache的基礎(chǔ)上打上了一些patch。Yahoo內(nèi)部使用的版本,發(fā)布過兩次,已有的版本都放在到了Apache上,后續(xù)不在繼續(xù)發(fā)布,而是集中在Apache的版本上。Hadoop發(fā)展大事Hadoop生態(tài)圈發(fā)展路線傳統(tǒng)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)面對海量數(shù)據(jù)處理,逐漸無法勝任當(dāng)前的需求。2003年以來,Google陸續(xù)推出了GFS、MapReduce、BigTable(谷歌“三寶”)等與可擴展、高性能的分布式數(shù)據(jù)處理框架相關(guān)的技術(shù),實現(xiàn)了海量數(shù)據(jù)的并行處理,證明了它們在處理海量半結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)的優(yōu)越性。Hadoop生態(tài)圈發(fā)展路線Hadoop由DougCutting于2004年提出,它的原型和靈感來自于Google的MapReduce和GFS,是開源的分布式計算框架。2006年,隨著DougCutting加入雅虎,Hadoop項目從Nutch(一個開源的網(wǎng)絡(luò)搜索引擎)項目中獨立出來,成為Apache基金會資助的頂級項目。隨后,Hadoop經(jīng)過七年積累,融入了R語言、Hive、Pig、Zookeeper、Cassandra、Chukwa、Sqoop等一系列數(shù)據(jù)庫及工具,從一個科學(xué)項目逐漸發(fā)展成一個成熟的主流商業(yè)應(yīng)用。Hadoop生態(tài)圈發(fā)展路線DougCutting于2009年離開Yahoo,加盟初創(chuàng)公司Cloudera,它是最早將Hadoop商用化的公司。如今,Cloudera、2011年從Yahoo剝離的Hortonworks、MapR在Hadoop領(lǐng)域形成三足鼎立之勢。Hortonworks選擇與紅帽、微軟等公司聯(lián)手,希望借助開源社區(qū)和合作伙伴的力量壯大自己;Cloudera則與英特爾合作,瞄準(zhǔn)高利潤的大訂單;MapR通過與EMC達(dá)成戰(zhàn)略合作伙伴,致力于開發(fā)下一代性能強的Hadoop。同時,Zettaset、HStreaming、Hadapt等與Hadoop相關(guān)的新公司也獲得投資,為市場帶來最新技術(shù)。Hadoop生態(tài)圈發(fā)展路線Hadoop是一個能夠?qū)Υ罅繑?shù)據(jù)進行分布式處理的軟件框架。相當(dāng)于一個生態(tài)系統(tǒng),或者可以看成一個操作系統(tǒng)XP,win7.HDFS和MapReduce為操作系統(tǒng)的核心,Hive,Pig,Mahout,Zookeeper,F(xiàn)lume,Sqoop,HBase等,都是操作系統(tǒng)上的一些軟件,或應(yīng)用。Hadoop生態(tài)圈HDFS(Hadoop分布式文件系統(tǒng))源自于Google的GFS論文,發(fā)表于2003年10月,HDFS是GFS克隆版。是Hadoop體系中數(shù)據(jù)存儲管理的基礎(chǔ)。它是一個高度容錯的系統(tǒng),能檢測和應(yīng)對硬件故障,用于在低成本的通用硬件上運行。HDFS簡化了文件的一致性模型,通過流式數(shù)據(jù)訪問,提供高吞吐量應(yīng)用程序數(shù)據(jù)訪問功能,適合帶有大型數(shù)據(jù)集的應(yīng)用程序。Client:切分文件;訪問HDFS;與NameNode交互,獲取文件位置信息;與DataNode交互,讀取和寫入數(shù)據(jù)。NameNode:Master節(jié)點,在hadoop1.X中只有一個,管理HDFS的名稱空間和數(shù)據(jù)塊映射信息,配置副本策略,處理客戶端請求。DataNode:Slave節(jié)點,存儲實際的數(shù)據(jù),匯報存儲信息給NameNode。SecondaryNameNode:輔助NameNode,分擔(dān)其工作量;定期合并fsimage和fsedits,推送給NameNode;緊急情況下,可輔助恢復(fù)NameNode,但SecondaryNameNode并非NameNode的熱備。Mapreduce(分布式計算框架)源自于google的MapReduce論文,發(fā)表于2004年12月,HadoopMapReduce是googleMapReduce克隆版。MapReduce是一種計算模型,用以進行大數(shù)據(jù)量的計算。其中Map對數(shù)據(jù)集上的獨立元素進行指定的操作,生成鍵-值對形式中間結(jié)果。Reduce則對中間結(jié)果中相同“鍵”的所有“值”進行規(guī)約,以得到最終結(jié)果。MapReduce這樣的功能劃分,非常適合在大量計算機組成的分布式并行環(huán)境里進行數(shù)據(jù)處理。JobTracker:Master節(jié)點,只有一個,管理所有作業(yè),作業(yè)/任務(wù)的監(jiān)控、錯誤處理等;將任務(wù)分解成一系列任務(wù),并分派給TaskTracker。TaskTracker:Slave節(jié)點,運行MapTask和ReduceTask;并與JobTracker交互,匯報任務(wù)狀態(tài)。MapTask:解析每條數(shù)據(jù)記錄,傳遞給用戶編寫的map(),并執(zhí)行,將輸出結(jié)果寫入本地磁盤(如果為map-only作業(yè),直接寫入HDFS)。ReducerTask:從MapTask的執(zhí)行結(jié)果中,遠(yuǎn)程讀取輸入數(shù)據(jù),對數(shù)據(jù)進行排序,將數(shù)據(jù)按照分組傳遞給用戶編寫的reduce函數(shù)執(zhí)行。Mapreduce處理流程以wordCount為例:Hive(基于Hadoop的數(shù)據(jù)倉庫)由facebook開源,最初用于解決海量結(jié)構(gòu)化的日志數(shù)據(jù)統(tǒng)計問題。Hive定義了一種類似SQL的查詢語言(HQL),將SQL轉(zhuǎn)化為MapReduce任務(wù)在Hadoop上執(zhí)行。通常用于離線分析。Hbase(分布式列存數(shù)據(jù)庫)源自Google的Bigtable論文,發(fā)表于2006年11月,HBase是GoogleBigtable克隆版HBase是一個針對結(jié)構(gòu)化數(shù)據(jù)的可伸縮、高可靠、高性能、分布式和面向列的動態(tài)模式數(shù)據(jù)庫。和傳統(tǒng)關(guān)系數(shù)據(jù)庫不同,HBase采用了BigTable的數(shù)據(jù)模型:增強的稀疏排序映射表(Key/Value),其中,鍵由行關(guān)鍵字、列關(guān)鍵字和時間戳構(gòu)成。HBase提供了對大規(guī)模數(shù)據(jù)的隨機、實時讀寫訪問,同時,HBase中保存的數(shù)據(jù)可以使用MapReduce來處理,它將數(shù)據(jù)存儲和并行計算完美地結(jié)合在一起。數(shù)據(jù)模型:Schema-->Table-->ColumnFamily-->Column-->RowKey-->TimeStamp-->ValueZookeeper(分布式協(xié)作服務(wù))源自Google的Chubby論文,發(fā)表于2006年11月,Zookeeper是Chubby克隆版。解決分布式環(huán)境下的數(shù)據(jù)管理問題:統(tǒng)一命名,狀態(tài)同步,集群管理,配置同步等。Sqoop(數(shù)據(jù)同步工具)Sqoop是SQL-to-Hadoop的縮寫,主要用于傳統(tǒng)數(shù)據(jù)庫和Hadoop之前傳輸數(shù)據(jù)。數(shù)據(jù)的導(dǎo)入和導(dǎo)出本質(zhì)上是Mapreduce程序,充分利用了MR的并行化和容錯性。Pig(基于Hadoop的數(shù)據(jù)流系統(tǒng))由yahoo!開源,設(shè)計動機是提供一種基于MapReduce的ad-hoc(計算在query時發(fā)生)數(shù)據(jù)分析工具。定義了一種數(shù)據(jù)流語言—PigLatin,將腳本轉(zhuǎn)換為MapReduce任務(wù)在Hadoop上執(zhí)行。通常用于進行離線分析。Mahout(數(shù)據(jù)挖掘算法庫)Mahout起源于2008年,最初是ApacheLucent的子項目,它在極短的時間內(nèi)取得了長足的發(fā)展,現(xiàn)在是Apache的頂級項目。Mahout的主要目標(biāo)是創(chuàng)建一些可擴展的機器學(xué)習(xí)領(lǐng)域經(jīng)典算法的實現(xiàn),旨在幫助開發(fā)人員更加方便快捷地創(chuàng)建智能應(yīng)用程序。Mahout現(xiàn)在已經(jīng)包含了聚類、分類、推薦引擎(協(xié)同過濾)和頻繁集挖掘等廣泛使用的數(shù)據(jù)挖掘方法。除了算法,Mahout還包含數(shù)據(jù)的輸入/輸出工具、與其他存儲系統(tǒng)(如數(shù)據(jù)庫、MongoDB或Cassandra)集成等數(shù)據(jù)挖掘支持架構(gòu)。Flume(日志收集工具)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論