




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
云計算(第三版)CLOUDCOMPUTINGThirdEdition第2章Google云計算原理與應(yīng)用(一)云計算(第三版)CLOUDCOMPUTINGThird2.1Google文件系統(tǒng)GFS2.2分布式數(shù)據(jù)處理MapReduce2.3分布式鎖服務(wù)Chubby2.4分布式結(jié)構(gòu)化數(shù)據(jù)表Bigtable2.5分布式存儲系統(tǒng)Megastore2.6
大規(guī)模分布式系統(tǒng)的監(jiān)控基礎(chǔ)架構(gòu)Dapper2.7海量數(shù)據(jù)的交互式分析工具Dremel2.8內(nèi)存大數(shù)據(jù)分析系統(tǒng)PowerDrill2.9Google應(yīng)用程序引擎2.1Google文件系統(tǒng)GFS2.2分布式數(shù)據(jù)處理Ma全球最大搜索引擎、GoogleMaps、GoogleEarth、Gmail、YouTube等。這些應(yīng)用的共性在于數(shù)據(jù)量巨大,且要面向全球用戶提供實時服務(wù)。全球最大搜索引擎、GoogleMaps、GoogleEa2.1Google文件系統(tǒng)GFS2.1.1系統(tǒng)架構(gòu)2.1.2容錯機制2.1.3系統(tǒng)管理技術(shù)2.1Google文件系統(tǒng)GFS2.1.1系統(tǒng)架構(gòu)2.GFS的系統(tǒng)架構(gòu)應(yīng)用程序GFS客戶端(文件名,Chunk索引)(Chunk句柄Chunk位置)GFS主服務(wù)器文件命名空間/foo/barChunk2ef0向數(shù)據(jù)塊服務(wù)器發(fā)出指令數(shù)據(jù)塊服務(wù)器狀態(tài)GFS數(shù)據(jù)塊服務(wù)器Linux文件系統(tǒng)GFS數(shù)據(jù)塊服務(wù)器Linux文件系統(tǒng)……(Chunk句柄,字節(jié)范圍)Chunk數(shù)據(jù)…標(biāo)注:數(shù)據(jù)信息控制信息52.1Google文件系統(tǒng)GFSGFS的系統(tǒng)架構(gòu)應(yīng)用程序GFS客戶端(文件名,Chunk索引GFS將整個系統(tǒng)節(jié)點分為三類角色Client(客戶端)Master(主服務(wù)器)ChunkServer(數(shù)據(jù)塊服務(wù)器)Client是GFS提供給應(yīng)用程序的訪問接口,以庫文件的形式提供Master是GFS的管理節(jié)點,負責(zé)整個文件系統(tǒng)的管理ChunkServer負責(zé)具體的存儲工作系統(tǒng)節(jié)點GFS62.1Google文件系統(tǒng)GFSGFS將整個系統(tǒng)節(jié)點分為三類角色ClientMasterChGFS的實現(xiàn)機制客戶端首先訪問Master節(jié)點,獲取交互的ChunkServer信息,然后訪問這些ChunkServer,完成數(shù)據(jù)存取工作。這種設(shè)計方法實現(xiàn)了控制流和數(shù)據(jù)流的分離。Client與Master之間只有控制流,而無數(shù)據(jù)流,極大地降低了Master的負載。Client與ChunkServer之間直接傳輸數(shù)據(jù)流,同時由于文件被分成多個Chunk進行分布式存儲,Client可以同時訪問多個ChunkServer,從而使得整個系統(tǒng)的I/O高度并行,系統(tǒng)整體性能得到提高。72.1Google文件系統(tǒng)GFSGFS的實現(xiàn)機制客戶端首先訪問Master節(jié)點,獲取交互的CGFS的特點1采用中心服務(wù)器模式可以方便地增加ChunkServerMaster掌握系統(tǒng)內(nèi)所有ChunkServer的情況,方便進行負載均衡不存在元數(shù)據(jù)的一致性問題82.1Google文件系統(tǒng)GFSGFS的特點1采用中心服務(wù)器模式可以方便地增加ChunkSGFS的特點2不緩存數(shù)據(jù)文件操作大部分是流式讀寫,不存在大量重復(fù)讀寫,使用Cache對性能提高不大ChunkServer上數(shù)據(jù)存取使用本地文件系統(tǒng)從可行性看,Cache與實際數(shù)據(jù)的一致性維護也極其復(fù)雜92.1Google文件系統(tǒng)GFSGFS的特點2不緩存數(shù)據(jù)文件操作大部分是流式讀寫,不存在大GFS的特點3在用戶態(tài)下實現(xiàn)利用POSIX編程接口存取數(shù)據(jù)降低了實現(xiàn)難度,提高通用性POSIX接口提供功能更豐富用戶態(tài)下有多種調(diào)試工具Master和ChunkServer都以進程方式運行,單個進程不影響整個操作系統(tǒng)GFS和操作系統(tǒng)運行在不同的空間,兩者耦合性降低102.1Google文件系統(tǒng)GFSGFS的特點3在用戶態(tài)下實現(xiàn)利用POSIX編程接口存取數(shù)據(jù)降2.1Google文件系統(tǒng)GFS2.1.1系統(tǒng)架構(gòu)2.1.2容錯機制2.1.3系統(tǒng)管理技術(shù)2.1Google文件系統(tǒng)GFS2.1.1系統(tǒng)架構(gòu)2.Master容錯為了防止Master徹底死機的情況,GFS還提供了Master遠程的實時備份Master命名空間(NameSpace),也就是整個文件系統(tǒng)的目錄結(jié)構(gòu)。Chunk與文件名的映射表。Chunk副本的位置信息,每一個Chunk默認有三個副本。日志直接保存在各個ChunkServer上當(dāng)Master發(fā)生故障時,在磁盤數(shù)據(jù)保存完好的情況下,可以迅速恢復(fù)以上元數(shù)據(jù)122.1Google文件系統(tǒng)GFSMaster容錯為了防止Master徹底死機的情況,GFS還ChunkServer容錯GFS采用副本的方式實現(xiàn)ChunkServer的容錯每一個Chunk有多個存儲副本(默認為三個)對于每一個Chunk,必須將所有的副本全部寫入成功,才視為成功寫入相關(guān)的副本出現(xiàn)丟失或不可恢復(fù)等情況,Master自動將該副本復(fù)制到其他ChunkServerGFS中的每一個文件被劃分成多個Chunk,Chunk的默認大小是64MB每一個Chunk以Block為單位進行劃分,大小為64KB,每一個Block對應(yīng)一個32bit的校驗和132.1Google文件系統(tǒng)GFSChunkServer容錯GFS采用副本的方式實現(xiàn)Chun2.1Google文件系統(tǒng)GFS2.1.1系統(tǒng)架構(gòu)2.1.2容錯機制2.1.3系統(tǒng)管理技術(shù)2.1Google文件系統(tǒng)GFS2.1.1系統(tǒng)架構(gòu)2.系統(tǒng)管理技術(shù)系統(tǒng)管理技術(shù)大規(guī)模集群安裝技術(shù)故障檢測技術(shù)節(jié)點動態(tài)加入技術(shù)節(jié)能技術(shù)GFS集群中通常有非常多的節(jié)點,需要相應(yīng)的技術(shù)支撐GFS構(gòu)建在不可靠廉價計算機之上的文件系統(tǒng),由于節(jié)點數(shù)目眾多,故障發(fā)生十分頻繁新的ChunkServer加入時,只需裸機加入,大大減少GFS維護工作量Google采用了多種機制降低服務(wù)器能耗,如采用蓄電池代替昂貴的UPS152.1Google文件系統(tǒng)GFS系統(tǒng)管理技術(shù)系統(tǒng)大規(guī)模集群安裝故障檢測技術(shù)節(jié)點節(jié)能技術(shù)G2.1Google文件系統(tǒng)GFS2.2分布式數(shù)據(jù)處理MapReduce2.3分布式鎖服務(wù)Chubby2.4分布式結(jié)構(gòu)化數(shù)據(jù)表Bigtable2.5分布式存儲系統(tǒng)Megastore2.6
大規(guī)模分布式系統(tǒng)的監(jiān)控基礎(chǔ)架構(gòu)Dapper2.7海量數(shù)據(jù)的交互式分析工具Dremel2.8內(nèi)存大數(shù)據(jù)分析系統(tǒng)PowerDrill2.9Google應(yīng)用程序引擎2.1Google文件系統(tǒng)GFS2.2分布式數(shù)據(jù)處理Ma2.2分布式數(shù)據(jù)處理MapReduce2.2.1產(chǎn)生背景2.2.2編程模型2.2.3實現(xiàn)機制2.2.4案例分析2.2分布式數(shù)據(jù)處理MapReduce2.2.1產(chǎn)生背景產(chǎn)生背景GoogleMapReduce架構(gòu)設(shè)計師JeffreyDeanJefferyDean設(shè)計一個新的抽象模型,封裝并行處理、容錯處理、本地化計算、負載均衡的細節(jié),還提供了一個簡單而強大的接口。這就是MapReduce182.2分布式數(shù)據(jù)處理MapReduce產(chǎn)生背景GoogleMapReduceJefferyDeMapReduce這種并行編程模式思想最早是在1995年提出的。與傳統(tǒng)的分布式程序設(shè)計相比,MapReduce封裝了并行處理、容錯處理、本地化計算、負載均衡等細節(jié),還提供了一個簡單而強大的接口。MapReduce把對數(shù)據(jù)集的大規(guī)模操作,分發(fā)給一個主節(jié)點管理下的各分節(jié)點共同完成,通過這種方式實現(xiàn)任務(wù)的可靠執(zhí)行與容錯機制。產(chǎn)生背景192.2分布式數(shù)據(jù)處理MapReduceMapReduce這種并行編程模式思想最早是在1995年提出2.2分布式數(shù)據(jù)處理MapReduce2.2.1產(chǎn)生背景2.2.2編程模型2.2.3實現(xiàn)機制2.2.4案例分析2.2分布式數(shù)據(jù)處理MapReduce2.2.1產(chǎn)生背景編程模型MapMapMapReduceReduce原始數(shù)據(jù)1原始數(shù)據(jù)2原始數(shù)據(jù)M…結(jié)果1結(jié)果R…Map函數(shù)——對一部分原始數(shù)據(jù)進行指定的操作。每個Map操作都針對不同的原始數(shù)據(jù),因此Map與Map之間是互相獨立的,這使得它們可以充分并行化。Reduce操作——對每個Map所產(chǎn)生的一部分中間結(jié)果進行合并操作,每個Reduce所處理的Map中間結(jié)果是互不交叉的,所有Reduce產(chǎn)生的最終結(jié)果經(jīng)過簡單連接就形成了完整的結(jié)果集.212.2分布式數(shù)據(jù)處理MapReduce編程模型MapMapMapReduceReduce原始數(shù)據(jù)編程模型Map:(in_key,in_value){(keyj,valuej)|j=1…k}Reduce:(key,[value1,…,valuem])(key,final_value)Map輸入?yún)?shù):in_key和in_value,它指明了Map需要處理的原始數(shù)據(jù)Map輸出結(jié)果:一組<key,value>對,這是經(jīng)過Map操作后所產(chǎn)生的中間結(jié)果
Reduce輸入?yún)?shù):(key,[value1,…,valuem])Reduce工作:對這些對應(yīng)相同key的value值進行歸并處理Reduce輸出結(jié)果:(key,final_value),所有Reduce的結(jié)果并在一起就是最終結(jié)果222.2分布式數(shù)據(jù)處理MapReduce編程模型Map:(in_key,in_value)2.2分布式數(shù)據(jù)處理MapReduce2.2.1產(chǎn)生背景2.2.2編程模型2.2.3實現(xiàn)機制2.2.4案例分析2.2分布式數(shù)據(jù)處理MapReduce2.2.1產(chǎn)生背景實現(xiàn)機制242.2分布式數(shù)據(jù)處理MapReduce實現(xiàn)機制242.2分布式數(shù)據(jù)處理MapReduce實現(xiàn)機制(1)MapReduce函數(shù)首先把輸入文件分成M塊(2)分派的執(zhí)行程序中有一個主控程序Master(3)一個被分配了Map任務(wù)的Worker讀取并處理相關(guān)的輸入塊(4)這些緩沖到內(nèi)存的中間結(jié)果將被定時寫到本地硬盤,這些數(shù)據(jù)通過分區(qū)函數(shù)分成R個區(qū)(5)當(dāng)Master通知執(zhí)行Reduce的Worker關(guān)于中間<key,value>對的位置時,它調(diào)用遠程過程,從MapWorker的本地硬盤上讀取緩沖的中間數(shù)據(jù)(6)ReduceWorker根據(jù)每一個唯一中間key來遍歷所有的排序后的中間數(shù)據(jù),并且把key和相關(guān)的中間結(jié)果值集合傳遞給用戶定義的Reduce函數(shù)(7)當(dāng)所有的Map任務(wù)和Reduce任務(wù)都完成的時候,Master激活用戶程序252.2分布式數(shù)據(jù)處理MapReduce實現(xiàn)機制(1)MapReduce函數(shù)首先把輸入文件分成M塊(容錯機制由于MapReduce在成百上千臺機器上處理海量數(shù)據(jù),所以容錯機制是不可或缺的??偟膩碚f,MapReduce通過重新執(zhí)行失效的地方來實現(xiàn)容錯。Master失效Worker失效Master會周期性地設(shè)置檢查點(checkpoint),并導(dǎo)出Master的數(shù)據(jù)。一旦某個任務(wù)失效,系統(tǒng)就從最近的一個檢查點恢復(fù)并重新執(zhí)行。由于只有一個Master在運行,如果Master失效了,則只能終止整個MapReduce程序的運行并重新開始。Master會周期性地給Worker發(fā)送ping命令,如果沒有Worker的應(yīng)答,則Master認為Worker失效,終止對這個Worker的任務(wù)調(diào)度,把失效Worker的任務(wù)調(diào)度到其他Worker上重新執(zhí)行。262.2分布式數(shù)據(jù)處理MapReduce容錯機制由于MapReduce在成百上千臺機器上處理海量數(shù)據(jù)2.2分布式數(shù)據(jù)處理MapReduce2.2.1產(chǎn)生背景2.2.2編程模型2.2.3實現(xiàn)機制2.2.4案例分析2.2分布式數(shù)據(jù)處理MapReduce2.2.1產(chǎn)生背景怎樣通過MapReduce完成排序工作,使其有序(字典序)呢?怎樣通過MapReduce完成排序工作,使其有序(字典序)呢第一個步驟對原始的數(shù)據(jù)進行分割(Split),得到N個不同的數(shù)據(jù)分塊。292.2分布式數(shù)據(jù)處理MapReduce第一個步驟對原始的數(shù)據(jù)進行分割(Split),292.2分第二個步驟對每一個數(shù)據(jù)分塊都啟動一個Map進行處理。采用桶排序的方法,每個Map中按照首字母將字符串分配到26個不同的桶中。302.2分布式數(shù)據(jù)處理MapReduce第二個步驟對每一個數(shù)據(jù)分塊都啟動一個Map進行處理。302.第三個步驟對于Map之后得到的中間結(jié)果,啟動26個Reduce。按照首字母將Map中不同桶中的字符串集合放置到相應(yīng)的Reduce中進行處理。312.2分布式數(shù)據(jù)處理MapReduce第三個步驟對于Map之后得到的中間結(jié)果,啟動26個Reduc本章未完待續(xù)本章未完待續(xù)電子工業(yè)出版社《云計算(第三版)》配套課件云計算(第三版)CLOUDCOMPUTINGThirdEdition謝謝觀看第2章電子工業(yè)出版社《云計算(第三版)》配套課件云計算(第三版)C云計算(第三版)CLOUDCOMPUTINGThirdEdition第2章Google云計算原理與應(yīng)用(一)云計算(第三版)CLOUDCOMPUTINGThird2.1Google文件系統(tǒng)GFS2.2分布式數(shù)據(jù)處理MapReduce2.3分布式鎖服務(wù)Chubby2.4分布式結(jié)構(gòu)化數(shù)據(jù)表Bigtable2.5分布式存儲系統(tǒng)Megastore2.6
大規(guī)模分布式系統(tǒng)的監(jiān)控基礎(chǔ)架構(gòu)Dapper2.7海量數(shù)據(jù)的交互式分析工具Dremel2.8內(nèi)存大數(shù)據(jù)分析系統(tǒng)PowerDrill2.9Google應(yīng)用程序引擎2.1Google文件系統(tǒng)GFS2.2分布式數(shù)據(jù)處理Ma全球最大搜索引擎、GoogleMaps、GoogleEarth、Gmail、YouTube等。這些應(yīng)用的共性在于數(shù)據(jù)量巨大,且要面向全球用戶提供實時服務(wù)。全球最大搜索引擎、GoogleMaps、GoogleEa2.1Google文件系統(tǒng)GFS2.1.1系統(tǒng)架構(gòu)2.1.2容錯機制2.1.3系統(tǒng)管理技術(shù)2.1Google文件系統(tǒng)GFS2.1.1系統(tǒng)架構(gòu)2.GFS的系統(tǒng)架構(gòu)應(yīng)用程序GFS客戶端(文件名,Chunk索引)(Chunk句柄Chunk位置)GFS主服務(wù)器文件命名空間/foo/barChunk2ef0向數(shù)據(jù)塊服務(wù)器發(fā)出指令數(shù)據(jù)塊服務(wù)器狀態(tài)GFS數(shù)據(jù)塊服務(wù)器Linux文件系統(tǒng)GFS數(shù)據(jù)塊服務(wù)器Linux文件系統(tǒng)……(Chunk句柄,字節(jié)范圍)Chunk數(shù)據(jù)…標(biāo)注:數(shù)據(jù)信息控制信息382.1Google文件系統(tǒng)GFSGFS的系統(tǒng)架構(gòu)應(yīng)用程序GFS客戶端(文件名,Chunk索引GFS將整個系統(tǒng)節(jié)點分為三類角色Client(客戶端)Master(主服務(wù)器)ChunkServer(數(shù)據(jù)塊服務(wù)器)Client是GFS提供給應(yīng)用程序的訪問接口,以庫文件的形式提供Master是GFS的管理節(jié)點,負責(zé)整個文件系統(tǒng)的管理ChunkServer負責(zé)具體的存儲工作系統(tǒng)節(jié)點GFS392.1Google文件系統(tǒng)GFSGFS將整個系統(tǒng)節(jié)點分為三類角色ClientMasterChGFS的實現(xiàn)機制客戶端首先訪問Master節(jié)點,獲取交互的ChunkServer信息,然后訪問這些ChunkServer,完成數(shù)據(jù)存取工作。這種設(shè)計方法實現(xiàn)了控制流和數(shù)據(jù)流的分離。Client與Master之間只有控制流,而無數(shù)據(jù)流,極大地降低了Master的負載。Client與ChunkServer之間直接傳輸數(shù)據(jù)流,同時由于文件被分成多個Chunk進行分布式存儲,Client可以同時訪問多個ChunkServer,從而使得整個系統(tǒng)的I/O高度并行,系統(tǒng)整體性能得到提高。402.1Google文件系統(tǒng)GFSGFS的實現(xiàn)機制客戶端首先訪問Master節(jié)點,獲取交互的CGFS的特點1采用中心服務(wù)器模式可以方便地增加ChunkServerMaster掌握系統(tǒng)內(nèi)所有ChunkServer的情況,方便進行負載均衡不存在元數(shù)據(jù)的一致性問題412.1Google文件系統(tǒng)GFSGFS的特點1采用中心服務(wù)器模式可以方便地增加ChunkSGFS的特點2不緩存數(shù)據(jù)文件操作大部分是流式讀寫,不存在大量重復(fù)讀寫,使用Cache對性能提高不大ChunkServer上數(shù)據(jù)存取使用本地文件系統(tǒng)從可行性看,Cache與實際數(shù)據(jù)的一致性維護也極其復(fù)雜422.1Google文件系統(tǒng)GFSGFS的特點2不緩存數(shù)據(jù)文件操作大部分是流式讀寫,不存在大GFS的特點3在用戶態(tài)下實現(xiàn)利用POSIX編程接口存取數(shù)據(jù)降低了實現(xiàn)難度,提高通用性POSIX接口提供功能更豐富用戶態(tài)下有多種調(diào)試工具Master和ChunkServer都以進程方式運行,單個進程不影響整個操作系統(tǒng)GFS和操作系統(tǒng)運行在不同的空間,兩者耦合性降低432.1Google文件系統(tǒng)GFSGFS的特點3在用戶態(tài)下實現(xiàn)利用POSIX編程接口存取數(shù)據(jù)降2.1Google文件系統(tǒng)GFS2.1.1系統(tǒng)架構(gòu)2.1.2容錯機制2.1.3系統(tǒng)管理技術(shù)2.1Google文件系統(tǒng)GFS2.1.1系統(tǒng)架構(gòu)2.Master容錯為了防止Master徹底死機的情況,GFS還提供了Master遠程的實時備份Master命名空間(NameSpace),也就是整個文件系統(tǒng)的目錄結(jié)構(gòu)。Chunk與文件名的映射表。Chunk副本的位置信息,每一個Chunk默認有三個副本。日志直接保存在各個ChunkServer上當(dāng)Master發(fā)生故障時,在磁盤數(shù)據(jù)保存完好的情況下,可以迅速恢復(fù)以上元數(shù)據(jù)452.1Google文件系統(tǒng)GFSMaster容錯為了防止Master徹底死機的情況,GFS還ChunkServer容錯GFS采用副本的方式實現(xiàn)ChunkServer的容錯每一個Chunk有多個存儲副本(默認為三個)對于每一個Chunk,必須將所有的副本全部寫入成功,才視為成功寫入相關(guān)的副本出現(xiàn)丟失或不可恢復(fù)等情況,Master自動將該副本復(fù)制到其他ChunkServerGFS中的每一個文件被劃分成多個Chunk,Chunk的默認大小是64MB每一個Chunk以Block為單位進行劃分,大小為64KB,每一個Block對應(yīng)一個32bit的校驗和462.1Google文件系統(tǒng)GFSChunkServer容錯GFS采用副本的方式實現(xiàn)Chun2.1Google文件系統(tǒng)GFS2.1.1系統(tǒng)架構(gòu)2.1.2容錯機制2.1.3系統(tǒng)管理技術(shù)2.1Google文件系統(tǒng)GFS2.1.1系統(tǒng)架構(gòu)2.系統(tǒng)管理技術(shù)系統(tǒng)管理技術(shù)大規(guī)模集群安裝技術(shù)故障檢測技術(shù)節(jié)點動態(tài)加入技術(shù)節(jié)能技術(shù)GFS集群中通常有非常多的節(jié)點,需要相應(yīng)的技術(shù)支撐GFS構(gòu)建在不可靠廉價計算機之上的文件系統(tǒng),由于節(jié)點數(shù)目眾多,故障發(fā)生十分頻繁新的ChunkServer加入時,只需裸機加入,大大減少GFS維護工作量Google采用了多種機制降低服務(wù)器能耗,如采用蓄電池代替昂貴的UPS482.1Google文件系統(tǒng)GFS系統(tǒng)管理技術(shù)系統(tǒng)大規(guī)模集群安裝故障檢測技術(shù)節(jié)點節(jié)能技術(shù)G2.1Google文件系統(tǒng)GFS2.2分布式數(shù)據(jù)處理MapReduce2.3分布式鎖服務(wù)Chubby2.4分布式結(jié)構(gòu)化數(shù)據(jù)表Bigtable2.5分布式存儲系統(tǒng)Megastore2.6
大規(guī)模分布式系統(tǒng)的監(jiān)控基礎(chǔ)架構(gòu)Dapper2.7海量數(shù)據(jù)的交互式分析工具Dremel2.8內(nèi)存大數(shù)據(jù)分析系統(tǒng)PowerDrill2.9Google應(yīng)用程序引擎2.1Google文件系統(tǒng)GFS2.2分布式數(shù)據(jù)處理Ma2.2分布式數(shù)據(jù)處理MapReduce2.2.1產(chǎn)生背景2.2.2編程模型2.2.3實現(xiàn)機制2.2.4案例分析2.2分布式數(shù)據(jù)處理MapReduce2.2.1產(chǎn)生背景產(chǎn)生背景GoogleMapReduce架構(gòu)設(shè)計師JeffreyDeanJefferyDean設(shè)計一個新的抽象模型,封裝并行處理、容錯處理、本地化計算、負載均衡的細節(jié),還提供了一個簡單而強大的接口。這就是MapReduce512.2分布式數(shù)據(jù)處理MapReduce產(chǎn)生背景GoogleMapReduceJefferyDeMapReduce這種并行編程模式思想最早是在1995年提出的。與傳統(tǒng)的分布式程序設(shè)計相比,MapReduce封裝了并行處理、容錯處理、本地化計算、負載均衡等細節(jié),還提供了一個簡單而強大的接口。MapReduce把對數(shù)據(jù)集的大規(guī)模操作,分發(fā)給一個主節(jié)點管理下的各分節(jié)點共同完成,通過這種方式實現(xiàn)任務(wù)的可靠執(zhí)行與容錯機制。產(chǎn)生背景522.2分布式數(shù)據(jù)處理MapReduceMapReduce這種并行編程模式思想最早是在1995年提出2.2分布式數(shù)據(jù)處理MapReduce2.2.1產(chǎn)生背景2.2.2編程模型2.2.3實現(xiàn)機制2.2.4案例分析2.2分布式數(shù)據(jù)處理MapReduce2.2.1產(chǎn)生背景編程模型MapMapMapReduceReduce原始數(shù)據(jù)1原始數(shù)據(jù)2原始數(shù)據(jù)M…結(jié)果1結(jié)果R…Map函數(shù)——對一部分原始數(shù)據(jù)進行指定的操作。每個Map操作都針對不同的原始數(shù)據(jù),因此Map與Map之間是互相獨立的,這使得它們可以充分并行化。Reduce操作——對每個Map所產(chǎn)生的一部分中間結(jié)果進行合并操作,每個Reduce所處理的Map中間結(jié)果是互不交叉的,所有Reduce產(chǎn)生的最終結(jié)果經(jīng)過簡單連接就形成了完整的結(jié)果集.542.2分布式數(shù)據(jù)處理MapReduce編程模型MapMapMapReduceReduce原始數(shù)據(jù)編程模型Map:(in_key,in_value){(keyj,valuej)|j=1…k}Reduce:(key,[value1,…,valuem])(key,final_value)Map輸入?yún)?shù):in_key和in_value,它指明了Map需要處理的原始數(shù)據(jù)Map輸出結(jié)果:一組<key,value>對,這是經(jīng)過Map操作后所產(chǎn)生的中間結(jié)果
Reduce輸入?yún)?shù):(key,[value1,…,valuem])Reduce工作:對這些對應(yīng)相同key的value值進行歸并處理Reduce輸出結(jié)果:(key,final_value),所有Reduce的結(jié)果并在一起就是最終結(jié)果552.2分布式數(shù)據(jù)處理MapReduce編程模型Map:(in_key,in_value)2.2分布式數(shù)據(jù)處理MapReduce2.2.1產(chǎn)生背景2.2.2編程模型2.2.3實現(xiàn)機制2.2.4案例分析2.2分布式數(shù)據(jù)處理MapReduce2.2.1產(chǎn)生背景實現(xiàn)機制572.2分布式數(shù)據(jù)處理MapReduce實現(xiàn)機制242.2分布式數(shù)據(jù)處理MapReduce實現(xiàn)機制(1)MapReduce函數(shù)首先把輸入文件分成M塊(2)分派的執(zhí)行程序中有一個主控程序Master(3)一個被分配了Map任務(wù)的Worker讀取并處理相關(guān)的輸入塊(4)這些緩沖到內(nèi)存的中間結(jié)果將被定時寫到本地硬盤,這些數(shù)據(jù)通過分區(qū)函數(shù)分成R個區(qū)(5)當(dāng)Master通知執(zhí)行Reduce的Worker關(guān)于中間<key,value>對的位置時,它調(diào)用遠程過程,從MapWorker的本地硬盤上讀取緩沖的中間數(shù)據(jù)(6)ReduceWorker根據(jù)每一個唯一中間key
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 上學(xué)勞務(wù)服務(wù)合同范例
- 買賣合同范例
- 公司種植合同范本
- 修理水池工程合同范例
- 會務(wù)服務(wù)勞務(wù)合同范例
- 冠名活動贊助合同范例
- 倉庫保潔服務(wù)合同范例
- 公司簽書面合同范例
- 買樓房裝修合同范例
- 中央空調(diào)拆裝安裝合同范例
- 江蘇2024年江蘇省新聞出版學(xué)校招聘人員筆試歷年典型考題及考點附答案解析
- 大酒店風(fēng)險分級管控和隱患排查治理雙體系文件
- 承包經(jīng)營食堂日控管周排查月調(diào)度記錄和管理表
- 美容衛(wèi)生管理制度打印版
- 2024CSCO非小細胞肺癌診療指南解讀
- HJ 1131-2020 固定污染源廢氣 二氧化硫的測定 便攜式紫外吸收法(正式版)
- 2023-2024學(xué)年江蘇省蘇州市蘇州地區(qū)學(xué)校八年級物理第二學(xué)期期末統(tǒng)考試題及答案解析
- (高清版)JTGT 3610-2019 公路路基施工技術(shù)規(guī)范
- 湖南省建設(shè)工程竣工驗收備案表
- 2024老年人靜脈血栓栓塞癥防治專家共識(全文)
- 2022年江蘇省五年制專轉(zhuǎn)本考試英語真題(試卷+答案)
評論
0/150
提交評論