Google云計(jì)算的關(guān)鍵技術(shù)(一)

Google云計(jì)算的關(guān)鍵技術(shù)(一)

ID:43442216

大?。?8.32 KB

頁(yè)數(shù):4頁(yè)

時(shí)間:2019-10-01

Google云計(jì)算的關(guān)鍵技術(shù)(一)_第1頁(yè)
Google云計(jì)算的關(guān)鍵技術(shù)(一)_第2頁(yè)
Google云計(jì)算的關(guān)鍵技術(shù)(一)_第3頁(yè)
Google云計(jì)算的關(guān)鍵技術(shù)(一)_第4頁(yè)
資源描述:

《Google云計(jì)算的關(guān)鍵技術(shù)(一)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、?Google云計(jì)算的關(guān)鍵技術(shù)(一)Google云計(jì)算的關(guān)鍵技術(shù)主要包括:Google文件系統(tǒng)GFS、分布式計(jì)算編程模型MapReduce、分布式鎖服務(wù)Chubby和分布式結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)系統(tǒng)BigTable等。其中:1)GFS提供了海量數(shù)據(jù)存儲(chǔ)和訪問(wèn)的能力;2)MapReduce使得海量信息的并行處理變得簡(jiǎn)單易行;3)Chubby保證了分布式環(huán)境下并發(fā)操作的同步問(wèn)題;4)BigTable使得海量數(shù)據(jù)的管理和組織十分方便。lGFSGFS是一個(gè)面向海量數(shù)據(jù)密集型應(yīng)用的、可伸縮的分布式文件系統(tǒng),它為Google云計(jì)算提

2、供了海量存儲(chǔ)的能力,處于整個(gè)Google云計(jì)算技術(shù)體系的最底層。GFS使用廉價(jià)的商用機(jī)器構(gòu)建分布式文件系統(tǒng),將容錯(cuò)的任務(wù)交由文件系統(tǒng)來(lái)完成,利用軟件的方法解決系統(tǒng)可靠性的問(wèn)題,不但使得存儲(chǔ)的成本成倍下降,更是很好地在頻繁的故障中確保了數(shù)據(jù)存儲(chǔ)的安全和數(shù)據(jù)存儲(chǔ)服務(wù)的連續(xù)性,從整體上確保了整個(gè)系統(tǒng)的可靠性,進(jìn)而可以為大量客戶機(jī)提供高性能的服務(wù)。一、架構(gòu)一個(gè)GFS集群包含一個(gè)單獨(dú)的Master邏輯節(jié)點(diǎn)、多臺(tái)Chunk服務(wù)器,并且同時(shí)被多個(gè)客戶端訪問(wèn),如下圖所示。GFS存儲(chǔ)的文件都被分割成固定大小的Chunk。在Chun

3、k創(chuàng)建的時(shí)候,Master服務(wù)器會(huì)給每個(gè)Chunk分配一個(gè)不變的、全球唯一的64位的Chunk標(biāo)識(shí)。Chunk服務(wù)器把Chunk以linux文件的形式保存在本地硬盤上,并且根據(jù)指定的Chunk標(biāo)識(shí)和字節(jié)范圍來(lái)讀寫塊數(shù)據(jù)。出于可靠性的考慮,每個(gè)塊都會(huì)復(fù)制到多個(gè)塊服務(wù)器上。缺省情況下,我們使用3個(gè)存儲(chǔ)復(fù)制節(jié)點(diǎn),不過(guò)用戶可以為不同的文件命名空間設(shè)定不同的復(fù)制級(jí)別。Master節(jié)點(diǎn)管理所有的文件系統(tǒng)元數(shù)據(jù),在邏輯上只有一個(gè)。這些元數(shù)據(jù)包括名字空間、訪問(wèn)控制信息、文件和Chunk的映射信息、以及當(dāng)前Chunk的位置信息;M

4、aster節(jié)點(diǎn)還管理著系統(tǒng)范圍內(nèi)的活動(dòng),比如Chunk在Chunk服務(wù)器之間的遷移等。Master節(jié)點(diǎn)使用心跳信息周期地和每個(gè)Chunk服務(wù)器通訊,發(fā)送指令到各個(gè)Chunk服務(wù)器并接收Chunk服務(wù)器的狀態(tài)信息。GFS客戶端代碼以庫(kù)的形式被鏈接到客戶程序里??蛻舳舜a實(shí)現(xiàn)了GFS文件系統(tǒng)的API接口函數(shù)、應(yīng)用程序與Master節(jié)點(diǎn)和Chunk服務(wù)器通訊、以及對(duì)數(shù)據(jù)進(jìn)行讀寫操作??蛻舳撕蚆aster節(jié)點(diǎn)的通信只獲取元數(shù)據(jù),所有的數(shù)據(jù)操作都是由客戶端直接和Chunk服務(wù)器進(jìn)行交互的。無(wú)論是客戶端還是Chunk服務(wù)器都

5、不需要緩存文件數(shù)據(jù)(客戶端會(huì)緩存元數(shù)據(jù))??蛻舳司彺鏀?shù)據(jù)幾乎沒(méi)有什么用處,因?yàn)榇蟛糠殖绦蛞匆粤鞯姆绞阶x取一個(gè)巨大文件,要么工作集太大根本無(wú)法被緩存。Chunk服務(wù)器不需要緩存文件數(shù)據(jù)的原因是:Chunk以本地文件的方式保存,Linux操作系統(tǒng)的文件系統(tǒng)緩存會(huì)把經(jīng)常訪問(wèn)的數(shù)據(jù)緩存在內(nèi)存中。設(shè)計(jì)思路:集中+分布。單一的Master節(jié)點(diǎn)便于通過(guò)全局的信息精確定位Chunk的位置以及進(jìn)行復(fù)制決策。同時(shí),為了避免Master節(jié)點(diǎn)成為系統(tǒng)的瓶頸,必須減少對(duì)Master節(jié)點(diǎn)的讀寫:客戶端并不通過(guò)Master節(jié)點(diǎn)讀寫文件數(shù)據(jù),

6、只是通過(guò)其詢問(wèn)應(yīng)該聯(lián)系的Chunk服務(wù)器,后續(xù)的操作將直接和Chunk服務(wù)器進(jìn)行數(shù)據(jù)讀寫操作。二、客戶端訪問(wèn)GFS流程首先,客戶端把文件名和程序指定的字節(jié)偏移,根據(jù)固定的Chunk大小,轉(zhuǎn)換成文件的Chunk索引。然后,它把文件名和Chunk索引發(fā)送給Master節(jié)點(diǎn)。Master節(jié)點(diǎn)將相應(yīng)的Chunk標(biāo)識(shí)和副本的位置信息發(fā)還給客戶端??蛻舳擞梦募虲hunk索引作為key緩存這些信息。之后客戶端發(fā)送請(qǐng)求到其中的一個(gè)副本處,一般會(huì)選擇最近的。請(qǐng)求信息包含了Chunk的標(biāo)識(shí)和字節(jié)范圍。在對(duì)這個(gè)Chunk的后續(xù)讀取

7、操作中,客戶端不必再和Master節(jié)點(diǎn)通訊了,除非緩存的元數(shù)據(jù)信息過(guò)期或者文件被重新打開。三、Chunk尺寸的設(shè)定Chunk的大小是關(guān)鍵的設(shè)計(jì)參數(shù)之一。選擇64MB這個(gè)較大尺寸有幾個(gè)重要的優(yōu)點(diǎn)。首先,它減少了客戶端和Master節(jié)點(diǎn)通訊的需求,因?yàn)橹恍枰淮魏蚆ater節(jié)點(diǎn)的通信就可以獲取Chunk的位置信息,之后就可以對(duì)同一個(gè)Chunk進(jìn)行多次的讀寫操作。這種方式對(duì)降低工作負(fù)載來(lái)說(shuō)效果顯著,因?yàn)閼?yīng)用程序通常是連續(xù)讀寫大文件。其次,采用較大的Chunk尺寸,客戶端能夠?qū)σ粋€(gè)塊進(jìn)行多次操作,這樣就可以通過(guò)與Chun

8、k服務(wù)器保持較長(zhǎng)時(shí)間的TCP連接來(lái)減少網(wǎng)絡(luò)負(fù)載。第三,選用較大的Chunk尺寸減少了Master節(jié)點(diǎn)需要保存的元數(shù)據(jù)的數(shù)量。這就允許我們把元數(shù)據(jù)全部放在內(nèi)存中。此外,為了避免因內(nèi)部碎片造成的空間浪費(fèi),GFS采用了惰性空間分配策略。四、元數(shù)據(jù)Master服務(wù)器存儲(chǔ)3種主要類型的元數(shù)據(jù),包括:文件和Chunk的命名空間、文件和Chunk的對(duì)應(yīng)關(guān)系、每個(gè)Chunk副本的存放地點(diǎn)

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。