云計算基礎(chǔ)知識歸納_第1頁
云計算基礎(chǔ)知識歸納_第2頁
云計算基礎(chǔ)知識歸納_第3頁
免費預(yù)覽已結(jié)束,剩余3頁可下載查看

下載本文檔

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

文檔簡介

1、由于云計算分為IaaSPaaS 和 SaaS 3 圖3云計算技術(shù)體系結(jié)構(gòu)4 層:物理資源層、資源池層、管理中間件層和SOA 構(gòu)建層,如圖 3 2000 個服務(wù)器 構(gòu)建層將云計算能力封裝成標(biāo)準的Web Services 服務(wù),并納入到SOA 體系進行管理和使用,包括服務(wù)注冊構(gòu)建層的功能更多依靠外部設(shè)施提供。(Image)的部署 基于上述體系結(jié)構(gòu),本文以IaaS 云計算為例,簡述云計算的實現(xiàn)機制,如圖4 所示。用戶交互接口向應(yīng)用以Web ServicesHadoop HDFS 特性簡介一、設(shè)計思想1、硬件失效是“常態(tài)事件“,而非“偶然事件”。HDFS 可能是有上千的機器組成(文檔中描述的Yahoo

2、!一個 Hadoop 集群有 4096 個節(jié)點),任何一個組件都有可能一直失效,因此數(shù)據(jù)的健壯性錯誤檢測和快速、自動的恢復(fù)是HDFS 的核心架構(gòu)目標(biāo)。2、 流式數(shù)據(jù)訪問。運行在 HDFS 上的應(yīng)用和普通的應(yīng)用不同,需要流式訪問它們的數(shù)據(jù)集。HDFS 的設(shè)計中更多的考慮到了數(shù)據(jù)批處理,而不是用戶交互處理。比之?dāng)?shù)據(jù)訪問的低延遲問題,更關(guān)鍵的在于數(shù)據(jù)并發(fā)訪問的高吞吐量。POSIX 標(biāo)準設(shè)置的很多硬性約束對HDFS 應(yīng)用系統(tǒng)不是必需的。為了提高數(shù)據(jù)的吞吐量,在一些關(guān)鍵方面對 POSIX 的語義做了一些修改。3、 HDFS 應(yīng)用對文件要求的是write-one-read-many典型的如MapReduc

3、eweb crawler45、在異構(gòu)的軟硬件平臺間的可移植性。二、Namenode 和 Datanode 的劃分一個 HDFS 集群有一個Namenode 和一定數(shù)目的Datanode 組成。Namenodenamespace 在集群中會有多個,一般是一個節(jié)點存在一個,負責(zé)管理其自身節(jié)點上它們附帶的存儲。在內(nèi)部,一個大文件其分成一個或多個block,這些block 存儲在Datanode 集合 里Namenode 執(zhí)行文件系統(tǒng)的namespace同時決定了block 到具體DatanodeDatanodeNamenode 的指揮下進行block 的創(chuàng)建、刪除和復(fù)制。單一節(jié)點的NamenodeN

4、amenode 負責(zé)保管和管理所有的HDFSNamenodeNamenode 參與而直接從Datanode 進行。為了提高Namenode 的性能,所有文件的namespace 數(shù)據(jù)都在內(nèi)存中維護,所以就天生存在了由于內(nèi)存大小的限制導(dǎo)致一個HDFS 集群的提供服務(wù)的文件數(shù)量的上限。根據(jù)目前的文檔,一個元數(shù)據(jù)(一個HDFS 文件塊兒)占用200Bytes,如果是頁面抓取的小文件,那么 32GB 內(nèi)存能承載 1.5 億左右的文件存儲(有待精確詳細測試)。三、文件系統(tǒng)操作和 namespace 的關(guān)系HDFS 支持傳統(tǒng)的層次型文件組織,與大多數(shù)其他文件系統(tǒng)類似,用戶可以創(chuàng)建目錄,并在其HDFS 不支

5、持user quotasNamenode 維護文件系統(tǒng)的任何對文件系統(tǒng)namespaceNamenodeHDFS保存的文件的副本數(shù)目,文件副本的數(shù)目稱為文件的 replicationNamenode四、數(shù)據(jù)復(fù)制HDFS 被設(shè)計成在一個大集群中可以跨機器地可靠地存儲海量的文件。它將每個文件存儲成block 序列,除了最后一個block,所有的block 都是同樣的大小。文件的所有block 為了容錯都會被復(fù)制。每個文件的block 大小和replication 因子都是可配置的。Replication 因子可以在文件創(chuàng)建的時候配置,以后也可以改變。HDFS 中的文件是write-one,并且嚴格

6、要求在任何時候只有一個writer。Namenode 全權(quán)管理block 的復(fù)制,它周期性地從集群中的每個Datanode 接收心跳包和一個Blockreport。心跳包的接收表示該 Datanode 節(jié)點正常工作,而Blockreport 包括了該Datanode 上所有的block 組成的列表。1、副本的存放,副本的存放是HDFS 可靠性和性能的關(guān)鍵。龐大的HDFS 實例一般運行在多況下,同一個機架內(nèi)的兩個節(jié)點間的帶寬會比不同機架間的兩臺機器的帶寬大。2 會盡量讓reader 讀最近的副本。如果在readerHDFS數(shù)據(jù)中心,那么reader3、SafeModeNamenode 啟動后會進

7、入一個稱為SafeMode 的特殊狀態(tài),處在這個狀態(tài)的NamenodeNamenodeDatanodeBlockreport。Blockreport包括了某個Datanode 所有的數(shù)據(jù)塊列表。每個block 都有指定的最小數(shù)目的副本。當(dāng)Namenode 檢測確認某個DatanodeDatanode(這個參數(shù)可配置Namenode 將退出SafeModeblockDatanode。五、文件系統(tǒng)元數(shù)據(jù)的持久化NamenodeHDFS個稱為EditlogHDFSNamenodereplication 因子也將往 EditlogNamenode 在本地OS 的文件系統(tǒng)中存儲這個Editlogbloc

8、kFsImageNamenodeNamenode 在內(nèi)存中保存著整個文件系統(tǒng)namespace 和文件Blockmap數(shù)據(jù)設(shè)計得很緊湊,一般為200Bytes4G 內(nèi)存的 Namenode支撐海量的文件和目錄。當(dāng)NamenodeEditlogFsImage,將所Editlog(apply)在內(nèi)存中的FsImage ,并將這個新版本的FsImageflush 到硬盤上,然后再truncate 這個舊的Editlog已經(jīng)作用在FsImage 上了。這個過程稱為checkpoint。在當(dāng)前實現(xiàn)中,checkpoint 只發(fā)生Namenodecheckpoint。Datanode 并不知道關(guān)于文件的任

9、何東西,除了將文件中的數(shù)據(jù)保存在本地的文件系統(tǒng)上。它把每個HDFSDatanodeDatanode 啟動時,它掃描本地文件系統(tǒng), 對這些本地文件產(chǎn)生相應(yīng)的一個所有HDFS 數(shù)據(jù)塊的列表,然后發(fā)送報告到Namenode報告就是Blockreport。六、通訊協(xié)議所有的HDFSTCP/IPClientProtocolNamenodeDatanode 是使用DatanodeProtocol Namenode 交互。從ClientProtocol 和 Datanodeprotocol(RPC), 在設(shè)計上,Namenode 不會主動發(fā)起RPC,而是是響應(yīng)來自客戶端和 Datanode 的 RPC七、健

10、壯性HDFS 的主要目標(biāo)就是實現(xiàn)在失敗情況下的數(shù)據(jù)存儲可靠性。常見的三種失?。篘amenode failures, Datanode failures 和網(wǎng)絡(luò)分割(network partitions)。1、硬盤數(shù)據(jù)錯誤、心跳檢測和重新復(fù)制每個Datanode 節(jié)點都向Namenode 周期性地發(fā)送心跳包Datanode Namenode 失去聯(lián)系。 NamenodeDatanode 標(biāo)記為dead,不會將新的IO 請求發(fā)給它們。寄存在dead Datanode效。Datanode 的死亡可能引起一些blockNamenode要復(fù)制的 block,在任何需要的情況下啟動復(fù)制。在下列情況可能需要

11、重新復(fù)制:某個Datanodereplication 因子增大。2、集群均衡HDFS 支持數(shù)據(jù)的均衡計劃,如果某個Datanode就會啟動一個計劃自動地將數(shù)據(jù)從一個Datanode 搬移到空閑的Datanode3、數(shù)據(jù)完整性從某個DatanodeDatanode錯誤、網(wǎng)絡(luò)錯誤或者軟件bugHDFS 客戶端軟件實現(xiàn)了HDFS某個客戶端創(chuàng)建一個新的HDFS 文件,會計算這個文件每個block 的校驗和,并作為一個單獨的隱藏文件保存這些校驗和在同一個HDFS namespace確認從Datanode 獲取的數(shù)據(jù)跟相應(yīng)的校驗和文件中的校驗和是否匹配,如果不匹配,客戶端可以選擇從其他Datanode 獲

12、取該block 的副本。4、元數(shù)據(jù)磁盤錯誤FsImage 和EditlogHDFSHDFS 可以配置成支持維護多個FsImage 和EditlogFsImage 或者 Editlog 的修改,都將同步到它們的副本上。這個同步操作可能會降低Namenode能支持處理的namespace 事務(wù)。這個代價是可以接受的,因為HDFS數(shù)據(jù)密集。當(dāng)NamenodeFsImageEditlogHDFS 是單點存在,如果NamenodeNamenode八、數(shù)據(jù)組織1、數(shù)據(jù)塊兼容 HDFS 的應(yīng)用都是處理大數(shù)據(jù)集合的。這些應(yīng)用都是寫數(shù)據(jù)一次,讀卻是一次到多次, 并且讀的速度要滿足流式讀。HDFS 支持文件的wr

13、ite-once,read-many。一個典型的block 大小是 64MB,因而,文件總是按照 64M 切分成chunk,每個chunk 存儲于不同的Datanode 上。2、數(shù)據(jù)產(chǎn)生步驟某個客戶端創(chuàng)建文件的請求其實并沒有立即發(fā)給Namenode,事實上,HDFS 客戶端會將文件件累積的數(shù)據(jù)超過一個block 的大小(默認64M),客戶端才會聯(lián)系NamenodeNamenode 將文件名插入文件系統(tǒng)的層次結(jié)構(gòu)中,并且分配一個數(shù)據(jù)塊給它,然后返回Datanode 的標(biāo)識符和目標(biāo)數(shù)據(jù)塊給客戶端??蛻舳藢⒈镜嘏R時文件flush 到指定的 Datanode閉時,在臨時文件中剩余的沒有flush 的數(shù)

14、據(jù)也會傳輸?shù)街付ǖ腄atanode,然后客戶端告NamenodeNamenode上述方法是對通過對HDFS 上運行的目標(biāo)應(yīng)用認真考慮的結(jié)果。如果不采用客戶端緩存,由于網(wǎng)絡(luò)速度和網(wǎng)絡(luò)堵塞會對吞估量造成比較大的影響。3、數(shù)據(jù)塊復(fù)制當(dāng)某個客戶端向HDFS因子設(shè)置為Namenode獲取一張Datanode然后客戶端開始向第一個Datanode 傳輸數(shù)據(jù),第一個Datanode 一小部分一小部分地接收數(shù)據(jù),將每個部分寫入本地倉庫,并且同時傳輸該部分到第二個Datanode 節(jié)點。第二個 Datanode三個Datanode,第三個Datanode九、訪問接口HDFSDFSShell 通過命令行與HDFS可以通過java API 調(diào)用,也可以通過C 語言的封裝API式。正在開發(fā)通過WebDav十、空間的回收1、文件的刪除和恢復(fù)用戶或者應(yīng)用刪除某個文件,這個文件并沒有立刻從HDFS 中刪除。相反, 將這個文件mv/trash/trash/trash 就會將/trash 文件批量從namespace 中刪除。文件的刪除,也將釋放關(guān)聯(lián)該文件的數(shù)據(jù)塊。并且需要注意的是HDFS當(dāng)被刪除的文件還保留在/tra

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論