国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Google云計算原理與應用(一)

這篇具有很好參考價值的文章主要介紹了Google云計算原理與應用(一)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


?
??Google(谷歌)擁有全球最強大的搜索引擎。除了搜索業(yè)務,Google 還有 Google Maps、Google Earth、Gmail、YouTube 等其他業(yè)務。這些應用的共性在于數(shù)據(jù)量巨大,且要面向全球用戶提供實時服務,因此 Google 必須解決海量數(shù)據(jù)存儲和快速處理問題。Google 研發(fā)出了簡單而又高效的技術(shù),讓多達百萬臺的廉價計算機協(xié)同工作,共同完成這些任務,這些技術(shù)在誕生幾年后才被命名為 Google 云計算技術(shù)。Google 云計算技術(shù)包括:Google 文件系統(tǒng) GFS、分布式計算編程模型 MapReduce、分布式鎖服務 Chubby、分布式結(jié)構(gòu)化數(shù)據(jù)表 Bigtable、分布式存儲系統(tǒng) Megastore、分布式監(jiān)控系統(tǒng) Dapper、海量數(shù)據(jù)的交互式分析工具 Dremel,以及內(nèi)存大數(shù)據(jù)分析系統(tǒng) PowerDrill 等。

一、Google文件系統(tǒng)GFS

??Google 文件系統(tǒng)(Google File System,GFS)是一個大型的分布式文件系統(tǒng)。它為 Google 云計算提供海量存儲,并且與 Chubby、MapReduce 及 Bigtable 等技術(shù)結(jié)合十分緊密,處于所有核心技術(shù)的底層。GFS 不是一個開源的系統(tǒng),我們僅能從 Google 公布的技術(shù)文檔來獲得相關(guān)知識。

??當前主流分布式文件系統(tǒng)有 RedHat 的GFS(Global File System)、IBM 的 GPFS、Sun 的 Lustre 等。這些系統(tǒng)通常用于高性能計算或大型數(shù)據(jù)中心,對硬件設施條件要求較高。以 Lustre 文件系統(tǒng)為例,它只對元數(shù)據(jù)管理器 MDS 提供容錯解決方案,而對于具體的數(shù)據(jù)存儲節(jié)點 OST 來說,則依賴其自身來解決容錯的問題。例如,Lustre 推薦 OST 節(jié)點采用 RAID 技術(shù)或 SAN 存儲區(qū)域網(wǎng)來容錯,但由于 Lustre 自身不能提供數(shù)據(jù)存儲的容錯,一旦 OST 發(fā)生故障就無法恢復,因此對 OST 的穩(wěn)定性就提出了相當高的要求,從而大大增加了存儲的成本,而且成本會隨著規(guī)模的擴大線性增長。

??Google GFS 的新穎之處在于它采用廉價的商用機器構(gòu)建分布式文件系統(tǒng),同時將 GFS 的設計與 Google 應用的特點緊密結(jié)合,簡化實現(xiàn),使之可行,最終達到創(chuàng)意新穎、有用、可行的完美組合。GFS 將容錯的任務交給文件系統(tǒng)完成,利用軟件的方法解決系統(tǒng)可靠性問題,使存儲的成本成倍下降。GFS 將服務器故障視為正?,F(xiàn)象,并采用多種方法,從多個角度,使用不同的容錯措施,確保數(shù)據(jù)存儲的安全、保證提供不間斷的數(shù)據(jù)存儲服務。

(一)系統(tǒng)架構(gòu)

??GFS 的系統(tǒng)架構(gòu)如下圖所示。GFS 將整個系統(tǒng)的節(jié)點分為三類角色:Client(客戶端0、Master(主服務器)和 Chunk Server(數(shù)據(jù)塊服務器)。Client 是 GFS 提供給應用程序的訪問接口,它是一組專用接口,不遵守 POSIX 規(guī)范,以庫文件的形式提供。應用程序直接調(diào)用這些庫函數(shù),并與該庫鏈接在一起。Master 是 GFS 的管理節(jié)點,在邏輯上只有一個,它保存系統(tǒng)的元數(shù)據(jù),負責整個文件系統(tǒng)的管理,是 GFS 文件系統(tǒng)中的 “大腦” 。Chunk Server 負責具體的存儲工作。數(shù)據(jù)以文件的形式存儲在 Chunk Server 上,Chunk Server 的個數(shù)可以有多個,它的數(shù)目直接決定了GFS 的規(guī)模。GFS 將文件按照固定大小進行分塊,默認是64MB,每一塊稱為一個Chunk(數(shù)據(jù)塊),每個 Chunk 都有一個對應的索引號(Index)。

Google云計算原理與應用(一),分布式系統(tǒng)與云計算,云計算,Google,googlecloud,GFS,mapreduce
GFS將整個系統(tǒng)節(jié)點分為三類角色:

Google云計算原理與應用(一),分布式系統(tǒng)與云計算,云計算,Google,googlecloud,GFS,mapreduce
GFS的實現(xiàn)機制:

  • 客戶端首先訪問Master節(jié)點,獲取交互的Chunk Server信息,然后訪問這些Chunk Server,完成數(shù)據(jù)存取工作。這種設計方法實現(xiàn)了控制流和數(shù)據(jù)流的分離。
  • Client與Master之間只有控制流,而無數(shù)據(jù)流,極大地降低了Master的負載。
  • Client與Chunk Server之間直接傳輸數(shù)據(jù)流,同時由于文件被分成多個Chunk進行分布式存儲,Client可以同時訪問多個Chunk Server,從而使得整個系統(tǒng)的I/O高度并行,系統(tǒng)整體性能得到提高。

GFS的特點:

1、采用中心服務器模式

  • 可以方便地增加Chunk Server
  • Master掌握系統(tǒng)內(nèi)所有Chunk Server的情況,方便進行負載均衡
  • 不存在元數(shù)據(jù)的一致性問題

2、不緩存數(shù)據(jù)

  • 文件操作大部分是流式讀寫,不存在大量重復讀寫,使用Cache對性能提高不大
  • Chunk Server上數(shù)據(jù)存取使用本地文件系統(tǒng)從可行性看,Cache與實際數(shù)據(jù)的一致性維護也極其復雜

3、在用戶態(tài)下實現(xiàn)

  • 利用POSIX編程接口存取數(shù)據(jù)降低了實現(xiàn)難度,提高通用性
  • POSIX接口提供功能更豐富
  • 用戶態(tài)下有多種調(diào)試工具
  • Master和Chunk Server都以進程方式運行,單個進程不影響整個操作系統(tǒng)
  • GFS和操作系統(tǒng)運行在不同的空間,兩者耦合性降低

4、只提供專用接口

  • 降低了實現(xiàn)的難度。通常與 POSIX 兼容的接口需要在操作系統(tǒng)內(nèi)核一級實現(xiàn),而 GFS 是在應用層實現(xiàn)的。
  • 采用專用接口可以根據(jù)應用的特點對應用提供一些特殊支持,如支持多個文件并發(fā)追加的接口等。
  • 專用接口直接和 Client、 Master、Chunk Server 交互,減少了操作系統(tǒng)之間上下文的切換,降低了復雜度,提高了效率。

(二)容錯機制

1、Master容錯

  • 命名空間(Name Space),也就是整個文件系統(tǒng)的目錄結(jié)構(gòu)。
  • Chunk與文件名的映射表。
  • Chunk副本的位置信息,每一個Chunk默認有三個副本。

Google云計算原理與應用(一),分布式系統(tǒng)與云計算,云計算,Google,googlecloud,GFS,mapreduce
??當Master發(fā)生故障時,在磁盤數(shù)據(jù)保存完好的情況下,可以迅速恢復以上元數(shù)據(jù)。為了防止Master徹底死機的情況,GFS還提供了Master遠程的實時備份。

2、Chunk Server容錯

  • GFS采用副本的方式實現(xiàn)Chunk Server的容錯
  • 每一個Chunk有多個存儲副本(默認為三個)
  • 對于每一個Chunk,必須將所有的副本全部寫入成功,才視為成功寫入
  • 相關(guān)的副本出現(xiàn)丟失或不可恢復等情況,Master自動將該副本復制到其他Chunk Server
  • GFS中的每一個文件被劃分成多個Chunk,Chunk的默認大小是64MB
  • 每一個Chunk以Block為單位進行劃分,大小為64KB,每一個Block對應一個32bit的校驗和

(三)系統(tǒng)管理技術(shù)

??GFS 是一個分布式文件系統(tǒng),包含從硬件到軟件的整套解決方案。除了上面提到的 GFS 的一些關(guān)鍵技術(shù)外,還有相應的系統(tǒng)管理技術(shù)來支持整個 GFS 的應用,這些技術(shù)可能不一定為 GFS 獨有。

Google云計算原理與應用(一),分布式系統(tǒng)與云計算,云計算,Google,googlecloud,GFS,mapreduce

二、分布式數(shù)據(jù)處理MapReduce

??MapReduce 是 Google 提出的一個軟件架構(gòu),是一種處理海量數(shù)據(jù)的并行編程模式,用于大規(guī)模數(shù)據(jù)集(通常大于1TB)的并行運算。Map(映射)、Reduce(化簡)的概念和主要思想,都是從函數(shù)式編程語言和矢量編程語言借鑒來的。正是由于 MapReduce 有函數(shù)式和矢量編程語言的共性,使得這種編程模式特別適合于非結(jié)構(gòu)化和結(jié)構(gòu)化的海量數(shù)據(jù)的搜索、挖掘、分析與機器智能學習等。

(一)產(chǎn)生背景

Google云計算原理與應用(一),分布式系統(tǒng)與云計算,云計算,Google,googlecloud,GFS,mapreduce
??Jeffery Dean 設計一個新的抽象模型, 封裝并行處理、容錯處理、本地化計算、負載均衡的細節(jié),還提供了一個簡單而強大的接口。這就是MapReduce。

??MapReduce 這種并行編程模式思想最早是在1995年提出的。與傳統(tǒng)的分布式程序設計相比,MapReduce 封裝了并行處理、容錯處理、本地化計算、負載均衡等細節(jié),還提供了一個簡單而強大的接口。MapReduce 把對數(shù)據(jù)集的大規(guī)模操作,分發(fā)給一個主節(jié)點管理下的各分節(jié)點共同完成,通過這種方式實現(xiàn)任務的可靠執(zhí)行與容錯機制。

(二)編程模型

  • Map函數(shù)——對一部分原始數(shù)據(jù)進行指定的操作。每個 Map 操作都針對不同的原始數(shù)據(jù),因此 Map 與 Map 之間是互相獨立的,這使得它們可以充分并行化。
  • Reduce操作——對每個 Map 所產(chǎn)生的一部分中間結(jié)果進行合并操作,每個 Reduce 所處理的 Map 中間結(jié)果是互不交叉的,所有 Reduce 產(chǎn)生的最終結(jié)果經(jīng)過簡單連接就形成了完整的結(jié)果集。

Google云計算原理與應用(一),分布式系統(tǒng)與云計算,云計算,Google,googlecloud,GFS,mapreduce

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工作:對這些對應相同 key 的 value 值進行歸并處理

  • Reduce輸出結(jié)果:(key, final_value),所有 Reduce 的結(jié)果并在一起就是最終結(jié)果

(三)實現(xiàn)機制

Google云計算原理與應用(一),分布式系統(tǒng)與云計算,云計算,Google,googlecloud,GFS,mapreduce
(1)MapReduce 函數(shù)首先把輸入文件分成M塊

(2)分派的執(zhí)行程序中有一個主控程序 Master

(3)一個被分配了 Map 任務的 Worker 讀取并處理相關(guān)的輸入塊

(4)這些緩沖到內(nèi)存的中間結(jié)果將被定時寫到本地硬盤,這些數(shù)據(jù)通過分區(qū)函數(shù)分成R個區(qū)

(5)當 Maste r通知執(zhí)行 Reduce 的 Worker 關(guān)于中間 <key,value> 對的位置時,它調(diào)用遠程過程,從 Map Worker 的本地硬盤上讀取緩沖的中間數(shù)據(jù)

(6)Reduce Worker 根據(jù)每一個唯一中間 key 來遍歷所有的排序后的中間數(shù)據(jù),并且把 key 和相關(guān)的中間結(jié)果值集合傳遞給用戶定義的 Reduce 函數(shù)

(7)當所有的 Map 任務和 Reduce 任務都完成的時候,Master 激活用戶程序

??由于MapReduce在成百上千臺機器上處理海量數(shù)據(jù),所以容錯機制是不可或缺的??偟膩碚f,MapReduce通過重新執(zhí)行失效的地方來實現(xiàn)容錯。

1、Master失效

??Master會周期性地設置檢查點(checkpoint),并導出Master的數(shù)據(jù)。一旦某個任務失效,系統(tǒng)就從最近的一個檢查點恢復并重新執(zhí)行。由于只有一個Master在運行,如果Master失效了,則只能終止整個MapReduce程序的運行并重新開始。

2、Worker失效

??Master會周期性地給Worker發(fā)送ping命令,如果沒有Worker的應答,則Master認為Worker失效,終止對這個Worker的任務調(diào)度,把失效Worker的任務調(diào)度到其他Worker上重新執(zhí)行。

(四)案例分析

第一個步驟

??對原始的數(shù)據(jù)進行分割(Split),得到N個不同的數(shù)據(jù)分塊。

Google云計算原理與應用(一),分布式系統(tǒng)與云計算,云計算,Google,googlecloud,GFS,mapreduce
第二個步驟

??對每一個數(shù)據(jù)分塊都啟動一個Map進行處理。采用桶排序的方法,每個Map中按照首字母將字符串分配到26個不同的桶中。

Google云計算原理與應用(一),分布式系統(tǒng)與云計算,云計算,Google,googlecloud,GFS,mapreduce
第三個步驟

??對于Map之后得到的中間結(jié)果,啟動26個Reduce。按照首字母將Map中不同桶中的字符串集合放置到相應的Reduce中進行處理。

Google云計算原理與應用(一),分布式系統(tǒng)與云計算,云計算,Google,googlecloud,GFS,mapreduce
??從上述過程可以看出,由于能夠?qū)崿F(xiàn)處理過程的完全并行化,因此利用 MapReduce 處理海量數(shù)據(jù)是非常適合的。文章來源地址http://www.zghlxwxcb.cn/news/detail-842816.html

到了這里,關(guān)于Google云計算原理與應用(一)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關(guān)文章

  • 【云計算】云計算八股與云開發(fā)核心技術(shù)(虛擬化、分布式、容器化)

    【云計算】云計算八股與云開發(fā)核心技術(shù)(虛擬化、分布式、容器化)

    【云計算】云計算八股與云開發(fā)核心技術(shù)(虛擬化、分布式、容器化) 1、云計算的架構(gòu)(基礎設施,平臺,軟件) 國內(nèi)做公有云的主要有:騰訊云,阿里云,華為云(對外銷售) 做垂直私有云的有:米哈游,字節(jié)火山,等等 云計算的三種服務模式(企業(yè)賣的東西) IaaS:

    2024年04月23日
    瀏覽(21)
  • 分布式集群框架——Google文件系統(tǒng)GFS

    分布式集群框架——Google文件系統(tǒng)GFS

    Google 文件系統(tǒng) GFS ????????Google 文件系統(tǒng)( Google File System , GFS )是一個大型的分布式文件系統(tǒng)。它為 Google 云計算提供海量存儲,并且與 Chubby 、 MapReduce 以及 Bigtable 等技術(shù)結(jié)合十分緊密,處于所有核心技術(shù)的底層。 由于 GFS 并不是一個開源的系統(tǒng),我們僅僅能從 Goog

    2024年02月10日
    瀏覽(17)
  • 除了上述提到的應用場景,分布式系統(tǒng)在云計算中還有如下一些應用場景

    除了上述提到的應用場景,分布式系統(tǒng)在云計算中還有如下一些應用場景

    除了上述提到的應用場景,分布式系統(tǒng)在云計算中還有如下一些應用場景: 大規(guī)模視頻和圖像存儲:分布式云存儲可以為企業(yè)提供大規(guī)模視頻和圖像存儲的解決方案,幫助企業(yè)存儲和管理海量的視頻和圖像數(shù)據(jù),提高數(shù)據(jù)的可靠性和安全性。 機器學習:在機器學習中,需要

    2024年01月19日
    瀏覽(26)
  • 大數(shù)據(jù)技術(shù)原理與應用 概念、存儲、處理、分析和應用(林子雨)——第三章 分布式文件系統(tǒng)HDFS

    大數(shù)據(jù)技術(shù)原理與應用 概念、存儲、處理、分析和應用(林子雨)——第三章 分布式文件系統(tǒng)HDFS

    大數(shù)據(jù)要解決數(shù)據(jù)存儲問題,所以有了分布式文件系統(tǒng)(DFS),但可能不符合當時的一些應用需求,于是谷歌公司開發(fā)了GFS(Google file System)。GFS是閉源的,而HDFS是對GFS的開源實現(xiàn)。 1.GFS和DFS有什么區(qū)別? GFS(Google File System)和DFS(Distributed File System)都是分布式文件系統(tǒng),

    2024年02月03日
    瀏覽(99)
  • 《大數(shù)據(jù)技術(shù)原理與應用(第3版)》期末復習——第三章分布式文件系統(tǒng)HDFS習題

    分布式文件系統(tǒng)的結(jié)構(gòu) 1、 名稱節(jié)點 (“主節(jié)點”): 負責文件和目錄的創(chuàng)建、刪除和重命名等,同時管理著數(shù)據(jù)節(jié)點和文件塊之間的映射關(guān)系。 2、 數(shù)據(jù)節(jié)點 (“從節(jié)點”): 負責數(shù)據(jù)的存儲和讀取。在存儲時,由名稱節(jié)點分配存儲位置,然后由客戶端把數(shù)據(jù)直接寫入相應

    2024年02月12日
    瀏覽(22)
  • 1+X 云計算運維與開發(fā)(中級)案例實戰(zhàn)——分布式部署集群應用商城系統(tǒng)

    1+X 云計算運維與開發(fā)(中級)案例實戰(zhàn)——分布式部署集群應用商城系統(tǒng)

    學而不思則罔,思而不學則殆。 IP 主機名 節(jié)點 192.168.200.10 mycat Mycat 中間件服務節(jié)點 192.168.200.20 db1 MariaDB 數(shù)據(jù)庫集群主節(jié)點 192.168.200.30 db2 MariaDB 數(shù)據(jù)庫集群從節(jié)點 192.168.200.40 zookeeper1 集群節(jié)點 192.168.200.50 zookeeper2 集群節(jié)點 192.168.200.60 zookeeper3 集群節(jié)點 192.168.200.70 redis 消息隊

    2023年04月23日
    瀏覽(33)
  • 分布式鏈路追蹤與云原生可觀測性

    分布式鏈路追蹤與云原生可觀測性

    Dapper, a Large-Scale Distributed Systems Tracing Infrastructure - Google Dapper,大規(guī)模分布式系統(tǒng)的跟蹤系統(tǒng) 大規(guī)模分布式系統(tǒng)的跟蹤系統(tǒng):Dapper設計給我們的啟示 阿里巴巴鷹眼技術(shù)解密 - 周小帆 京東云分布式鏈路追蹤在金融場景的最佳實踐 分布式鏈路追蹤在字節(jié)跳動的實踐 可視化全鏈路

    2024年04月11日
    瀏覽(39)
  • 分布式系統(tǒng)原理

    分布式系統(tǒng)原理

    高可用是指系統(tǒng)無中斷的執(zhí)行功能的能力,代表了系統(tǒng)的可用程度,是進行系統(tǒng)設計時必須要遵守的準則之一。 而高可用的實現(xiàn)方案,無外乎就是冗余,就存儲的高可用而言,問題不在于如何進行數(shù)據(jù)備份,而在于如何規(guī)避數(shù)據(jù)不一致對業(yè)務造成的影響。 對于分布式系統(tǒng)而

    2024年02月05日
    瀏覽(17)
  • 解析RocketMQ:高性能分布式消息隊列的原理與應用

    什么是消息隊列 消息隊列是一種消息傳遞機制,用于在應用程序和系統(tǒng)之間傳遞消息,實現(xiàn)解耦和異步通信。它通過將消息發(fā)送到一個中間代理(消息隊列),然后由消費者從該隊列中獲取消息并處理。 RocketMQ簡介 RocketMQ是阿里巴巴開源的一款高性能分布式消息隊列系統(tǒng)。它

    2024年02月14日
    瀏覽(27)
  • 分布式光纖測溫系統(tǒng)的工作原理及傳感過程

    分布式光纖測溫系統(tǒng)依據(jù)后向散射原理可以分為三種:基于瑞利散射、基于拉曼散射和基于布里淵散射。目前發(fā)展比較成熟,且有產(chǎn)品應用于工程的是基于拉曼散射的分布式光纖測溫系統(tǒng)。它的傳感原理主要依據(jù)的是光纖的光時域反射(OTDR)原理和光纖的后向拉曼散射溫度效應

    2024年02月07日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包