《云計(jì)算(第二版)》教材配套課件2-第二章-Google云計(jì)算原理與應(yīng)用1_第1頁
《云計(jì)算(第二版)》教材配套課件2-第二章-Google云計(jì)算原理與應(yīng)用1_第2頁
《云計(jì)算(第二版)》教材配套課件2-第二章-Google云計(jì)算原理與應(yīng)用1_第3頁
《云計(jì)算(第二版)》教材配套課件2-第二章-Google云計(jì)算原理與應(yīng)用1_第4頁
《云計(jì)算(第二版)》教材配套課件2-第二章-Google云計(jì)算原理與應(yīng)用1_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

電子工業(yè)出版社《云計(jì)算(第二版)》配套課件解放軍理工大學(xué)教授主編華東交通大學(xué)制作第2章Google云計(jì)算原理與應(yīng)用《云計(jì)算(第二版)》購買網(wǎng)址:當(dāng)當(dāng)網(wǎng)

京東商城姊妹力作《實(shí)戰(zhàn)Hadoop》購買網(wǎng)址:當(dāng)當(dāng)網(wǎng)

京東商城提綱Google文件系統(tǒng)GFS分布式數(shù)據(jù)處理MapReduce

分布式鎖服務(wù)Chubby

分布式結(jié)構(gòu)化數(shù)據(jù)表Bigtable

分布式存儲(chǔ)系統(tǒng)Megastore大規(guī)模分布式系統(tǒng)的監(jiān)控基礎(chǔ)架構(gòu)DapperGoogle應(yīng)用程序引擎Google文件系統(tǒng)GFS系統(tǒng)架構(gòu)容錯(cuò)機(jī)制系統(tǒng)管理技術(shù)Google業(yè)務(wù)全球最大搜索引擎、GoogleMaps、GoogleEarth、Gmail、YouTube等數(shù)據(jù)量巨大,且面向全球用戶提供實(shí)時(shí)服務(wù)

Google云計(jì)算平臺(tái)技術(shù)架構(gòu)文件存儲(chǔ),GoogleDistributedFileSystem,GFS并行數(shù)據(jù)處理MapReduce分布式鎖Chubby分布式結(jié)構(gòu)化數(shù)據(jù)表BigTable分布式存儲(chǔ)系統(tǒng)Megastore分布式監(jiān)控系統(tǒng)Dapper

秘密武器:云計(jì)算平臺(tái)!GFS設(shè)計(jì)動(dòng)機(jī)Google需要一個(gè)支持海量存儲(chǔ)的文件系統(tǒng)購置昂貴的分布式文件系統(tǒng)與硬件?為什么不使用當(dāng)時(shí)現(xiàn)存的文件系統(tǒng)?Google所面臨的問題與眾不同

不同的工作負(fù)載,不同的設(shè)計(jì)優(yōu)先級(jí)(廉價(jià)、不可靠的硬件)需要設(shè)計(jì)與Google應(yīng)用和負(fù)載相符的文件系統(tǒng)是否可以在一堆廉價(jià)且不可靠的硬件上構(gòu)建可靠的分布式文件系統(tǒng)?GFS將容錯(cuò)的任務(wù)交給文件系統(tǒng)完成,利用軟件的方法解決系統(tǒng)可靠性問題,使存儲(chǔ)的成本成倍下降。GFS將服務(wù)器故障視為正?,F(xiàn)象,并采用多種方法,從多個(gè)角度,使用不同的容錯(cuò)措施,確保數(shù)據(jù)存儲(chǔ)的安全、保證提供不間斷的數(shù)據(jù)存儲(chǔ)服務(wù)

GFS架構(gòu)是怎樣的?系統(tǒng)架構(gòu)Client(客戶端):應(yīng)用程序的訪問接口

Master(主服務(wù)器):管理節(jié)點(diǎn),在邏輯上只有一個(gè),保存系統(tǒng)的元數(shù)據(jù),負(fù)責(zé)整個(gè)文件系統(tǒng)的管理ChunkServer(數(shù)據(jù)塊服務(wù)器):負(fù)責(zé)具體的存儲(chǔ)工作。數(shù)據(jù)以文件的形式存儲(chǔ)在ChunkServer上實(shí)現(xiàn)機(jī)制客戶端首先訪問Master節(jié)點(diǎn),獲取交互的ChunkServer信息,然后訪問這些ChunkServer,完成數(shù)據(jù)存取工作。這種設(shè)計(jì)方法實(shí)現(xiàn)了控制流和數(shù)據(jù)流的分離。Client與Master之間只有控制流,而無數(shù)據(jù)流,極大地降低了Master的負(fù)載。Client與ChunkServer之間直接傳輸數(shù)據(jù)流,同時(shí)由于文件被分成多個(gè)Chunk進(jìn)行分布式存儲(chǔ),Client可以同時(shí)訪問多個(gè)ChunkServer,從而使得整個(gè)系統(tǒng)的I/O高度并行,系統(tǒng)整體性能得到提高。

GFS特點(diǎn)有哪些?GFS特點(diǎn)采用中心服務(wù)器模式可以方便地增加ChunkServerMaster掌握系統(tǒng)內(nèi)所有ChunkServer的情況,方便進(jìn)行負(fù)載均衡不存在元數(shù)據(jù)的一致性問題不緩存數(shù)據(jù)

文件操作大部分是流式讀寫,不存在大量重復(fù)讀寫,使用Cache對(duì)性能提高不大ChunkServer上數(shù)據(jù)存取使用本地文件系統(tǒng),若讀取頻繁,系統(tǒng)具有Cache從可行性看,Cache與實(shí)際數(shù)據(jù)的一致性維護(hù)也極其復(fù)雜在用戶態(tài)下實(shí)現(xiàn)

利用POSIX編程接口存取數(shù)據(jù)降低了實(shí)現(xiàn)難度,提高通用性

POSIX接口提供功能更豐富

用戶態(tài)下有多種調(diào)試工具

Master和ChunkServer都以進(jìn)程方式運(yùn)行,單個(gè)進(jìn)程不影響整個(gè)操作系統(tǒng)

GFS和操作系統(tǒng)運(yùn)行在不同的空間,兩者耦合性降低只提供專用接口

降低實(shí)現(xiàn)的難度

對(duì)應(yīng)用提供一些特殊支持降低復(fù)雜度

Google文件系統(tǒng)GFS系統(tǒng)架構(gòu)容錯(cuò)機(jī)制系統(tǒng)管理技術(shù)Master容錯(cuò)

MasterNameSpace,文件系統(tǒng)目錄結(jié)構(gòu)

Chunk與文件名的映射Chunk副本的位置信息(默認(rèn)有三個(gè)副本)

NameSpace,文件系統(tǒng)目錄結(jié)構(gòu)

Chunk與文件名的映射Chunk副本的位置信息Master單個(gè)Master,對(duì)于前兩種元數(shù)據(jù),GFS通過操作日志來提供容錯(cuò)功能

第三種元數(shù)據(jù)信息保存在各個(gè)ChunkServer上,Master故障時(shí),磁盤恢復(fù)

GFS還提供了Master遠(yuǎn)程的實(shí)時(shí)備份,防止Master徹底死機(jī)的情況ChunkServer容錯(cuò)

采用副本方式實(shí)現(xiàn)ChunkServer容錯(cuò)每一個(gè)Chunk有多個(gè)存儲(chǔ)副本(默認(rèn)為三個(gè)),分布存儲(chǔ)在不同的ChunkServer上用戶態(tài)的GFS不會(huì)影響ChunkServer的穩(wěn)定性副本的分布策略需要考慮多種因素,如網(wǎng)絡(luò)的拓?fù)洹C(jī)架的分布、磁盤的利用率等對(duì)于每一個(gè)Chunk,必須將所有的副本全部寫入成功,才視為成功寫入盡管一份數(shù)據(jù)需要存儲(chǔ)三份,好像磁盤空間的利用率不高,但綜合比較多種因素,加之磁盤的成本不斷下降,采用副本無疑是最簡(jiǎn)單、最可靠、最有效,而且實(shí)現(xiàn)的難度也最小的一種方法。Simple,andgoodenough!GFS中的每一個(gè)文件被劃分成多個(gè)Chunk,Chunk的默認(rèn)大小是64MBChunkServer存儲(chǔ)的是Chunk的副本,副本以文件的形式進(jìn)行存儲(chǔ)每個(gè)Chunk又劃分為若干Block(64KB),每個(gè)Block對(duì)應(yīng)一個(gè)32bit的校驗(yàn)碼,保證數(shù)據(jù)正確(若某個(gè)Block錯(cuò)誤,則轉(zhuǎn)移至其他Chunk副本)Google文件系統(tǒng)GFS系統(tǒng)架構(gòu)容錯(cuò)機(jī)制系統(tǒng)管理技術(shù)大規(guī)模集群安裝技術(shù)故障檢測(cè)技術(shù)

節(jié)點(diǎn)動(dòng)態(tài)加入技術(shù)

節(jié)能技術(shù)

新的ChunkServer加入時(shí),只需裸機(jī)加入,大大減少GFS維護(hù)工作量

GFS構(gòu)建在不可靠廉價(jià)計(jì)算機(jī)之上的文件系統(tǒng),由于節(jié)點(diǎn)數(shù)目眾多,故障發(fā)生十分頻繁

Google采用了多種機(jī)制降低服務(wù)器能耗,如采用蓄電池代替昂貴的UPS系統(tǒng)管理技術(shù)GFS集群中通常有非常多的節(jié)點(diǎn),需要相應(yīng)的技術(shù)支撐

小結(jié)簡(jiǎn)單的,就是最好的!討論GFS有什么問題嗎?分布式數(shù)據(jù)處理MapReduce

產(chǎn)生背景

編程模型實(shí)現(xiàn)機(jī)制案例分析MapReduce一種處理海量數(shù)據(jù)的并行編程模式,用于大規(guī)模數(shù)據(jù)集(通常大于1TB)的并行運(yùn)算。

“Map(映射)”、“Reduce(化簡(jiǎn))”的概念和主要思想,都是從函數(shù)式編程語言和矢量編程語言借鑒適合非結(jié)構(gòu)化和結(jié)構(gòu)化的海量數(shù)據(jù)的搜索、挖掘、分析與機(jī)器智能學(xué)習(xí)等

Google擁有海量數(shù)據(jù),并且需要快速處理Google全球Web數(shù)據(jù)郵件數(shù)據(jù)地圖數(shù)據(jù)衛(wèi)星照片……計(jì)算問題簡(jiǎn)單,但求解困難

待處理數(shù)據(jù)量巨大(PB級(jí)),只有分布在成百上千個(gè)節(jié)點(diǎn)上并行計(jì)算才能在可接受的時(shí)間內(nèi)完成如何進(jìn)行并行分布式計(jì)算?

如何分發(fā)待處理數(shù)據(jù)?

如何處理分布式計(jì)算中的錯(cuò)誤?簡(jiǎn)單的問題,計(jì)算并不簡(jiǎn)單!JefferyDean設(shè)計(jì)一個(gè)新的抽象模型,封裝并行處理、容錯(cuò)處理、本地化計(jì)算、負(fù)載均衡的細(xì)節(jié),還提供了一個(gè)簡(jiǎn)單而強(qiáng)大的接口這就是MapReduceGoogleMapReduce架構(gòu)設(shè)計(jì)師JeffreyDean分布式數(shù)據(jù)處理MapReduce

產(chǎn)生背景

編程模型實(shí)現(xiàn)機(jī)制案例分析MapReduce運(yùn)行模型

Map函數(shù)——對(duì)一部分原始數(shù)據(jù)進(jìn)行指定的操作。每個(gè)Map操作都針對(duì)不同的原始數(shù)據(jù),因此Map與Map之間是互相獨(dú)立的,這使得它們可以充分并行化Reduce操作——對(duì)每個(gè)Map所產(chǎn)生的一部分中間結(jié)果進(jìn)行合并操作,每個(gè)Reduce所處理的Map中間結(jié)果是互不交叉的,所有Reduce產(chǎn)生的最終結(jié)果經(jīng)過簡(jiǎn)單連接就形成了完整的結(jié)果集Map:(in_key,in_value){(keyj,valuej)|j=1…k}Reduce:(key,[value1,…,valuem])(key,final_value)

開發(fā)者需編寫兩個(gè)主要函數(shù)

Map輸入?yún)?shù):in_key和in_value,它指明了Map需要處理的原始數(shù)據(jù)Map輸出結(jié)果:一組<key,value>對(duì),這是經(jīng)過Map操作后所產(chǎn)生的中間結(jié)果

Map:(in_key,in_value){(keyj,valuej)|j=1…k}Reduce:(key,[value1,…,valuem])(key,final_value)

開發(fā)者需編寫兩個(gè)主要函數(shù)

Reduce輸入?yún)?shù):(key,[value1,…,valuem])Reduce工作:對(duì)這些對(duì)應(yīng)相同key的value值進(jìn)行歸并處理Reduce輸出結(jié)果:(key,final_value),所有Reduce的結(jié)果并在一起就是最終結(jié)果Map的輸入?yún)?shù)指明了需要處理哪部分?jǐn)?shù)據(jù),以“<在文本中的起始位置,需要處理的數(shù)據(jù)長(zhǎng)度>”表示,經(jīng)過Map處理,形成一批中間結(jié)果“<單詞,出現(xiàn)次數(shù)>”。而Reduce函數(shù)處理中間結(jié)果,將相同單詞出現(xiàn)的次數(shù)進(jìn)行累加,得到每個(gè)單詞總的出現(xiàn)次數(shù)

怎么用MapReduce計(jì)算一個(gè)大型文本文件中各單詞出現(xiàn)次數(shù)?分布式數(shù)據(jù)處理MapReduce

產(chǎn)生背景

編程模型實(shí)現(xiàn)機(jī)制案例分析MapReduce操作執(zhí)行流程圖

操作過程(1)輸入文件分成M塊,每塊大概16M~64MB(可以通過參數(shù)決定),接著在集群的機(jī)器上執(zhí)行分派處理程序

(2)M個(gè)Map任務(wù)和R個(gè)Reduce任務(wù)需要分派,Master選擇空閑Worker來分配這些Map或Reduce任務(wù)(3)Worker讀取并處理相關(guān)輸入塊,Map函數(shù)產(chǎn)生的中間結(jié)果<key,value>對(duì)暫時(shí)緩沖到內(nèi)存(4)中間結(jié)果定時(shí)寫到本地硬盤,分區(qū)函數(shù)將其分成R個(gè)區(qū)。中間結(jié)果在本地硬盤的位置信息將被發(fā)送回Master,然后Master負(fù)責(zé)把這些位置信息傳送給ReduceWorker操作過程(5)當(dāng)Master通知執(zhí)行Reduce的Worker關(guān)于中間<key,value>對(duì)的位置時(shí),它調(diào)用遠(yuǎn)程過程,從MapWorker的本地硬盤上讀取緩沖的中間數(shù)據(jù)。當(dāng)ReduceWorker讀到所有的中間數(shù)據(jù),它就使用中間key進(jìn)行排序,這樣可使相同key的值都在一起(6)ReduceWorker根據(jù)每一個(gè)唯一中間key來遍歷所有的排序后的中間數(shù)據(jù),并且把key和相關(guān)的中間結(jié)果值集合傳遞給用戶定義的Reduce函數(shù)。Reduce函數(shù)的結(jié)果寫到一個(gè)最終的輸出文件

(7)當(dāng)所有的Map任務(wù)和Reduce任務(wù)都完成的時(shí)候,Master激活用戶程序。此時(shí)MapReduce返回用戶程序的調(diào)用點(diǎn)MapReduce容錯(cuò)

Master周期性地給Worker發(fā)送ping命令,若沒有應(yīng)答,則認(rèn)為Worker失效,終止其任務(wù)調(diào)度,把該任務(wù)調(diào)度到其他Worker上重新執(zhí)行Master會(huì)周期性地設(shè)置檢查點(diǎn)(checkpoint),并導(dǎo)出Master的數(shù)據(jù)。一旦某個(gè)任務(wù)失效,系統(tǒng)就從最近的一個(gè)檢查點(diǎn)恢復(fù)并重新執(zhí)行MapReduce容錯(cuò)分布式數(shù)據(jù)處理MapReduce

產(chǎn)生背景

編程模型實(shí)現(xiàn)機(jī)制案例分析假設(shè)有一批海量的數(shù)據(jù),每個(gè)數(shù)據(jù)都是由26個(gè)字母組成的字

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論