自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從HDFS架構(gòu)和設(shè)計(jì)看Hadoop和云計(jì)算的關(guān)系

云計(jì)算 Hadoop
Hadoop分布式文件系統(tǒng)(HDFS)被設(shè)計(jì)成適合運(yùn)行在通用硬件(commodity hardware)上的分布式文件系統(tǒng)。它和現(xiàn)有的分布式文件系統(tǒng)有很多共同點(diǎn)。但同時(shí),它和其他的分布式文件系統(tǒng)的區(qū)別也是很明顯的。HDFS是一個(gè)高度容錯(cuò)性的系統(tǒng),適合部署在廉價(jià)的機(jī)器上。HDFS能提供高吞吐量的數(shù)據(jù)訪問,非常適合大規(guī)模數(shù)據(jù)集上的應(yīng)用。

云計(jì)算(cloud computing),由位于網(wǎng)絡(luò)上的一組服務(wù)器把其計(jì)算、存儲、數(shù)據(jù)等資源以服務(wù)的形式提供給請求者以完成信息處理任務(wù)的方法和過程。在此過程中被服務(wù)者只是提供需求并獲取服務(wù)結(jié)果,對于需求被服務(wù)的過程并不知情。同時(shí)服務(wù)者以***利用的方式動態(tài)地把資源分配給眾多的服務(wù)請求者,以求達(dá)到***效益。

[[131923]]

Hadoop分布式文件系統(tǒng)(HDFS)被設(shè)計(jì)成適合運(yùn)行在通用硬件(commodity hardware)上的分布式文件系統(tǒng)。它和現(xiàn)有的分布式文件系統(tǒng)有很多共同點(diǎn)。但同時(shí),它和其他的分布式文件系統(tǒng)的區(qū)別也是很明顯的。HDFS是一個(gè)高度容錯(cuò)性的系統(tǒng),適合部署在廉價(jià)的機(jī)器上。HDFS能提供高吞吐量的數(shù)據(jù)訪問,非常適合大規(guī)模數(shù)據(jù)集上的應(yīng)用。

一 前提和設(shè)計(jì)目標(biāo)

1 hadoop和云計(jì)算的關(guān)系

云計(jì)算由位于網(wǎng)絡(luò)上的一組服務(wù)器把其計(jì)算、存儲、數(shù)據(jù)等資源以服務(wù)的形式提供給請求者以完成信息處理任務(wù)的方法和過程。針對海量文本數(shù)據(jù)處理,為實(shí)現(xiàn)快速文本處理響應(yīng),縮短海量數(shù)據(jù)為輔助決策提供服務(wù)的時(shí)間,基于Hadoop云計(jì)算平臺,建立HDFS分布式文件系統(tǒng)存儲海量文本數(shù)據(jù)集,通過文本詞頻利用MapReduce原理建立分布式索引,以分布式數(shù)據(jù)庫HBase存儲關(guān)鍵詞索引,并提供實(shí)時(shí)檢索,實(shí)現(xiàn)對海量文本數(shù)據(jù)的分布式并行處理.實(shí)驗(yàn)結(jié)果表明,Hadoop框架為大規(guī)模數(shù)據(jù)的分布式并行處理提供了很好的解決方案。

2 流式數(shù)據(jù)訪問

運(yùn)行在HDFS上的應(yīng)用和普通的應(yīng)用不同,需要流式訪問它們的數(shù)據(jù)集。HDFS的設(shè)計(jì)中更多的考慮到了數(shù)據(jù)批處理,而不是用戶交互處理。比之?dāng)?shù)據(jù)訪問的低延遲問題,更關(guān)鍵的在于數(shù)據(jù)訪問的高吞吐量。

3 大規(guī)模數(shù)據(jù)集

運(yùn)行在HDFS上的應(yīng)用具有很大的數(shù)據(jù)集。HDFS上的一個(gè)典型文件大小一般都在G字節(jié)至T字節(jié)。因此,HDFS被調(diào)節(jié)以支持大文件存儲。它應(yīng)該能提供整體上高的數(shù)據(jù)傳輸帶寬,能在一個(gè)集群里擴(kuò)展到數(shù)百個(gè)節(jié)點(diǎn)。一個(gè)單一的HDFS實(shí)例應(yīng)該能支撐數(shù)以千萬計(jì)的文件。

4 簡單的一致性模型

HDFS 應(yīng)用需要一個(gè)“一次寫入多次讀取”的文件訪問模型。一個(gè)文件經(jīng)過創(chuàng)建、寫入和關(guān)閉之后就不需要改變。這一假設(shè)簡化了數(shù)據(jù)一致性問題,并且使高吞吐量的數(shù)據(jù)訪問成為可能。Map/Reduce應(yīng)用或者網(wǎng)絡(luò)爬蟲應(yīng)用都非常適合這個(gè)模型。目前還有計(jì)劃在將來擴(kuò)充這個(gè)模型,使之支持文件的附加寫操作。

5 異構(gòu)軟硬件平臺間的可移植性

HDFS在設(shè)計(jì)的時(shí)候就考慮到平臺的可移植性。這種特性方便了HDFS作為大規(guī)模數(shù)據(jù)應(yīng)用平臺的推廣。

6 硬件錯(cuò)誤

硬件錯(cuò)誤是常態(tài)而不是異常。HDFS可能由成百上千的服務(wù)器所構(gòu)成,每個(gè)服務(wù)器上存儲著文件系統(tǒng)的部分?jǐn)?shù)據(jù)。我們面對的現(xiàn)實(shí)是構(gòu)成系統(tǒng)的組件數(shù)目是巨大的,而且任一組件都有可能失效,這意味著總是有一部分HDFS的組件是不工作的。因此錯(cuò)誤檢測和快速、自動的恢復(fù)是HDFS最核心的架構(gòu)目標(biāo)。

#p#

二 HDFS重要名詞解釋

HDFS 采用master/slave架構(gòu)。一個(gè)HDFS集群是由一個(gè)Namenode和一定數(shù)目的Datanodes組成。Namenode是一個(gè)中心服務(wù)器,負(fù)責(zé)管理文件系統(tǒng)的名字空間(namespace)以及客戶端對文件的訪問。集群中的Datanode一般是一個(gè)節(jié)點(diǎn)一個(gè),負(fù)責(zé)管理它所在節(jié)點(diǎn)上的存儲。 HDFS暴露了文件系統(tǒng)的名字空間,用戶能夠以文件的形式在上面存儲數(shù)據(jù)。從內(nèi)部看,一個(gè)文件其實(shí)被分成一個(gè)或多個(gè)數(shù)據(jù)塊,這些塊存儲在一組 Datanode上。Namenode執(zhí)行文件系統(tǒng)的名字空間操作,比如打開、關(guān)閉、重命名文件或目錄。它也負(fù)責(zé)確定數(shù)據(jù)塊到具體Datanode節(jié)點(diǎn)的映射。Datanode負(fù)責(zé)處理文件系統(tǒng)客戶端的讀寫請求。在Namenode的統(tǒng)一調(diào)度下進(jìn)行數(shù)據(jù)塊的創(chuàng)建、刪除和復(fù)制。

 

從HDFS架構(gòu)和設(shè)計(jì)看Hadoop和云計(jì)算的關(guān)系

集群中單一Namenode的結(jié)構(gòu)大大簡化了系統(tǒng)的架構(gòu)。Namenode是所有HDFS元數(shù)據(jù)的仲裁者和管理者,這樣,用戶數(shù)據(jù)永遠(yuǎn)不會流過Namenode。

1 Namenode

(1)HDFS的守護(hù)程序。

(2)記錄文件時(shí)如何分割成數(shù)據(jù)塊的,以及這些數(shù)據(jù)塊被存數(shù)到那些借點(diǎn)上。

(3)對內(nèi)存和I/O進(jìn)行集中管理

(4)namenode是單個(gè)節(jié)點(diǎn),發(fā)生故障將使集群崩潰。

 

從HDFS架構(gòu)和設(shè)計(jì)看Hadoop和云計(jì)算的關(guān)系

2 secondary Namenode

(1)監(jiān)控HDFS狀態(tài)的輔助后臺程序

(2)secondary Namenode與namenode通訊,定期保存HDFS元數(shù)據(jù)快照。

(3)當(dāng)namenode故障時(shí)候,secondary Namenode可以作為備用namenode使用。

 

 

從HDFS架構(gòu)和設(shè)計(jì)看Hadoop和云計(jì)算的關(guān)系

3 Datanode

Datanode將HDFS數(shù)據(jù)以文件的形式存儲在本地的文件系統(tǒng)中,它并不知道有關(guān)HDFS文件的信息。它把每個(gè) HDFS數(shù)據(jù)塊存儲在本地文件系統(tǒng)的一個(gè)單獨(dú)的文件中。Datanode并不在同一個(gè)目錄創(chuàng)建所有的文件,實(shí)際上,它用試探的方法來確定每個(gè)目錄的***文件數(shù)目,并且在適當(dāng)?shù)臅r(shí)候創(chuàng)建子目錄。

4 jobTracker

(1)用于處理作業(yè)的后臺程序

(2)決定有哪些文件參與處理,然后切割task并分配節(jié)點(diǎn)

(3)監(jiān)控task,重啟失敗的task

(4)每個(gè)集群只有唯一一個(gè)jobTracker,位于Master。

5 TaskTracker

(1)位于slave節(jié)點(diǎn)上,與datanode結(jié)合

(2)管理各自節(jié)點(diǎn)上的task(由jobTracker分配)

(3)每個(gè)節(jié)點(diǎn)只有一個(gè)tasktracker,但一個(gè)tasktracker可以啟動多個(gè)JVM,

(4)與jobtracker交互

#p#

三 HDFS數(shù)據(jù)存儲

1 HDFS數(shù)據(jù)存儲特點(diǎn)

(1)HDFS被設(shè)計(jì)成能夠在一個(gè)大集群中跨機(jī)器可靠地存儲超大文件。

(2)它將每個(gè)文件存儲成一系列的數(shù)據(jù)塊,除了***一個(gè),所有的數(shù)據(jù)塊都是同樣大小的,數(shù)據(jù)塊的大小是可以配置的。

(3)文件的所有數(shù)據(jù)塊都會有副本。每個(gè)副本系數(shù)都是可配置的。 (4)應(yīng)用程序可以指定某個(gè)文件的副本數(shù)目。

(5)HDFS中的文件都是一次性寫入的,并且嚴(yán)格要求在任何時(shí)候只能有一個(gè)寫入者。

2 心跳機(jī)制

Namenode全權(quán)管理數(shù)據(jù)塊的復(fù)制,它周期性地從集群中的每個(gè)Datanode接收心跳信號和塊狀態(tài)報(bào)告(Blockreport)。接收到心跳信號意味著該Datanode節(jié)點(diǎn)工作正常。塊狀態(tài)報(bào)告包含了一個(gè)該Datanode上所有數(shù)據(jù)塊的列表。

 

從HDFS架構(gòu)和設(shè)計(jì)看Hadoop和云計(jì)算的關(guān)系

3 副本存放

副本的存放是HDFS可靠性和性能的關(guān)鍵。HDFS采用一種稱為機(jī)架感知(rack-aware)的策略來改進(jìn)數(shù)據(jù)的可靠性、可用性和網(wǎng)絡(luò)帶寬的利用率。

4 副本選擇

為了降低整體的帶寬消耗和讀取延時(shí),HDFS會盡量讓讀取程序讀取離它最近的副本。如果在讀取程序的同一個(gè)機(jī)架上有一個(gè)副本,那么就讀取該副本。如果一個(gè)HDFS集群跨越多個(gè)數(shù)據(jù)中心,那么客戶端也將首先讀本地?cái)?shù)據(jù)中心的副本。

5 安全模式

Namenode啟動后會進(jìn)入一個(gè)稱為安全模式的特殊狀態(tài)。處于安全模式的Namenode是不會進(jìn)行數(shù)據(jù)塊的復(fù)制的。Namenode從所有的 Datanode接收心跳信號和塊狀態(tài)報(bào)告。

#p#

四 HDFS數(shù)據(jù)健壯性

HDFS的主要目標(biāo)就是即使在出錯(cuò)的情況下也要保證數(shù)據(jù)存儲的可靠性。常見的三種出錯(cuò)情況是:Namenode出錯(cuò), Datanode出錯(cuò)和網(wǎng)絡(luò)割裂(network partitions)。

[[131924]]

1 磁盤數(shù)據(jù)錯(cuò)誤,心跳檢測和重新復(fù)制

每個(gè)Datanode節(jié)點(diǎn)周期性地向Namenode發(fā)送心跳信號。網(wǎng)絡(luò)割裂可能導(dǎo)致一部分Datanode跟Namenode失去聯(lián)系。Namenode 通過心跳信號的缺失來檢測這一情況,并將這些近期不再發(fā)送心跳信號Datanode標(biāo)記為宕機(jī),不會再將新的IO請求發(fā)給它們。任何存儲在宕機(jī) Datanode上的數(shù)據(jù)將不再有效。Datanode的宕機(jī)可能會引起一些數(shù)據(jù)塊的副本系數(shù)低于指定值,Namenode不斷地檢測這些需要復(fù)制的數(shù)據(jù)塊,一旦發(fā)現(xiàn)就啟動復(fù)制操作。在下列情況下,可能需要重新復(fù)制:某個(gè)Datanode節(jié)點(diǎn)失效,某個(gè)副本遭到損壞,Datanode上的硬盤錯(cuò)誤,或者文件的副本系數(shù)增大。

2 集群均衡

HDFS的架構(gòu)支持?jǐn)?shù)據(jù)均衡策略。如果某個(gè)Datanode節(jié)點(diǎn)上的空閑空間低于特定的臨界點(diǎn),按照均衡策略系統(tǒng)就會自動地將數(shù)據(jù)從這個(gè)Datanode移動到其他空閑的Datanode。當(dāng)對某個(gè)文件的請求突然增加,那么也可能啟動一個(gè)計(jì)劃創(chuàng)建該文件新的副本,并且同時(shí)重新平衡集群中的其他數(shù)據(jù)。這些均衡策略目前還沒有實(shí)現(xiàn)。

3 數(shù)據(jù)完整性

從某個(gè)Datanode獲取的數(shù)據(jù)塊有可能是損壞的,損壞可能是由Datanode的存儲設(shè)備錯(cuò)誤、網(wǎng)絡(luò)錯(cuò)誤或者軟件bug造成的。HDFS客戶端軟件實(shí)現(xiàn)了對HDFS文件內(nèi)容的校驗(yàn)和 (checksum)檢查。當(dāng)客戶端創(chuàng)建一個(gè)新的HDFS文件,會計(jì)算這個(gè)文件每個(gè)數(shù)據(jù)塊的校驗(yàn)和,并將校驗(yàn)和作為一個(gè)單獨(dú)的隱藏文件保存在同一個(gè) HDFS名字空間下。當(dāng)客戶端獲取文件內(nèi)容后,它會檢驗(yàn)從Datanode獲取的數(shù)據(jù)跟相應(yīng)的校驗(yàn)和文件中的校驗(yàn)和是否匹配,如果不匹配,客戶端可以選擇從其他Datanode獲取該數(shù)據(jù)塊的副本。

4 元數(shù)據(jù)磁盤錯(cuò)誤

FsImage和Editlog是HDFS的核心數(shù)據(jù)結(jié)構(gòu)。如果這些文件損壞了,整個(gè)HDFS實(shí)例都將失效。因而,Namenode可以配置成支持維護(hù)多個(gè)FsImage和Editlog的副本。任何對FsImage或者 Editlog的修改,都將同步到它們的副本上。這種多副本的同步操作可能會降低Namenode每秒處理的名字空間事務(wù)數(shù)量。然而這個(gè)代價(jià)是可以接受的,因?yàn)榧词笻DFS的應(yīng)用是數(shù)據(jù)密集的,它們也非元數(shù)據(jù)密集的。當(dāng)Namenode重啟的時(shí)候,它會選取最近的完整的FsImage和Editlog來使用。

Namenode是HDFS集群中的單點(diǎn)故障(single point of failure)所在。如果Namenode機(jī)器故障,是需要手工干預(yù)的。目前,自動重啟或在另一臺機(jī)器上做Namenode故障轉(zhuǎn)移的功能還沒實(shí)現(xiàn)。

5 快照

快照支持某一特定時(shí)刻的數(shù)據(jù)的復(fù)制備份。利用快照,可以讓HDFS在數(shù)據(jù)損壞時(shí)恢復(fù)到過去一個(gè)已知正確的時(shí)間點(diǎn)。HDFS目前還不支持快照功能,但計(jì)劃在將來的版本進(jìn)行支持。

博文出處:http://www.cnblogs.com/Rainbow-G/articles/4282572.html
 

責(zé)任編輯:Ophira 來源: cnblogs
相關(guān)推薦

2010-06-07 10:44:09

2012-07-11 17:21:23

HadoopHDFS

2010-03-19 16:05:42

云計(jì)算

2011-11-18 10:12:32

云存儲云計(jì)算

2021-05-08 09:14:55

云計(jì)算大數(shù)據(jù)人工智能

2019-03-05 13:37:26

云計(jì)算人工智能邊緣計(jì)算

2010-04-02 13:13:28

云計(jì)算

2019-03-21 11:03:47

HDFSMapReduceHadoop

2019-12-13 09:35:56

云計(jì)算行業(yè)科技

2020-02-14 15:50:16

云計(jì)算神扯

2010-06-07 13:35:16

Hadoop簡介

2018-03-18 07:44:47

云計(jì)算云存儲IT

2017-10-16 16:00:08

云計(jì)算成本云端

2011-01-05 16:10:42

云計(jì)算坦克

2009-05-19 11:57:13

memcached分布式緩存MySQL

2018-12-12 15:47:58

2023-08-01 15:22:01

物聯(lián)網(wǎng)云計(jì)算

2022-04-12 11:22:13

物聯(lián)網(wǎng)云計(jì)算

2013-06-18 14:33:13

HDFS分布式文件系統(tǒng)

2019-04-23 10:13:52

物聯(lián)網(wǎng)云計(jì)算IOT
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號