成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

學習筆記 Hadoop分布式文件系統(tǒng)中架構和設計要點

開發(fā) 架構 分布式 Hadoop
相信Hadoop的概念大家應該有所了解,那么你對Hadoop分布式文件系統(tǒng)是否熟悉,這里就向大家介紹一下Hadoop分布式文件系統(tǒng)架構和設計的要點。

本節(jié)向大家介紹一下Hadoop分布式文件系統(tǒng)中架構和設計的要點,本節(jié)主要從六個方面來介紹,歡迎大家一起來學習,希望通過本節(jié)的介紹大家對Hadoop分布式文件系統(tǒng)有更加深刻的認識。
Hadoop分布式文件系統(tǒng):架構和設計要點

一、前提和設計目標

1、硬件錯誤是常態(tài),而非異常情況,HDFS可能是有成百上千的server組成,任何一個組件都有可能一直失效,因此錯誤檢測和快速、自動的恢復是HDFS的核心架構目標。
2、跑在HDFS上的應用與一般的應用不同,它們主要是以流式讀為主,做批量處理;比之關注數(shù)據(jù)訪問的低延遲問題,更關鍵的在于數(shù)據(jù)訪問的高吞吐量。
3、HDFS以支持大數(shù)據(jù)集合為目標,一個存儲在上面的典型文件大小一般都在千兆至T字節(jié),一個單一HDFS實例應該能支撐數(shù)以千萬計的文件。
4、HDFS應用對文件要求的是write-one-read-many訪問模型。一個文件經(jīng)過創(chuàng)建、寫,關閉之后就不需要改變。這一假設簡化了數(shù)據(jù)一致性問題,使高吞吐量的數(shù)據(jù)訪問成為可能。典型的如MapReduce框架,或者一個webcrawler應用都很適合這個模型。
5、移動計算的代價比之移動數(shù)據(jù)的代價低。一個應用請求的計算,離它操作的數(shù)據(jù)越近就越高效,這在數(shù)據(jù)達到海量級別的時候更是如此。將計算移動到數(shù)據(jù)附近,比之將數(shù)據(jù)移動到應用所在顯然更好,HDFS提供給應用這樣的接口。
6、在異構的軟硬件平臺間的可移植性。

二、Namenode和Datanode

Hadoop分布式文件系統(tǒng)HDFS采用master/slave架構。一個HDFS集群是有一個Namenode和一定數(shù)目的Datanode組成。Namenode是一個中心服務器,負責管理文件系統(tǒng)的namespace和客戶端對文件的訪問。Datanode在集群中一般是一個節(jié)點一個,負責管理節(jié)點上它們附帶的存儲。在內(nèi)部,一個文件其實分成一個或多個block,這些block存儲在Datanode集合里。Namenode執(zhí)行文件系統(tǒng)的namespace操作,例如打開、關閉、重命名文件和目錄,同時決定block到具體Datanode節(jié)點的映射。Datanode在Namenode的指揮下進行block的創(chuàng)建、刪除和復制。Namenode和Datanode都是設計成可以跑在普通的廉價的運行l(wèi)inux的機器上。HDFS采用java語言開發(fā),因此可以部署在很大范圍的機器上。一個典型的部署場景是一臺機器跑一個單獨的Namenode節(jié)點,集群中的其他機器各跑一個Datanode實例。這個架構并不排除一臺機器上跑多個Datanode,不過這比較少見。

單一節(jié)點的Namenode大大簡化了系統(tǒng)的架構。Namenode負責保管和管理所有的HDFS元數(shù)據(jù),因而用戶數(shù)據(jù)就不需要通過Namenode(也就是說文件數(shù)據(jù)的讀寫是直接在Datanode上)。

三、文件系統(tǒng)的namespace

HDFS支持傳統(tǒng)的層次型文件組織,與大多數(shù)其他文件系統(tǒng)類似,用戶可以創(chuàng)建目錄,并在其間創(chuàng)建、刪除、移動和重命名文件。HDFS不支持userquotas和訪問權限,也不支持鏈接(link),不過當前的架構并不排除實現(xiàn)這些特性。Namenode維護文件系統(tǒng)的namespace,任何對文件系統(tǒng)namespace和文件屬性的修改都將被Namenode記錄下來。應用可以設置HDFS保存的文件的副本數(shù)目,文件副本的數(shù)目稱為文件的replication因子,這個信息也是由Namenode保存。

四、數(shù)據(jù)復制

Hadoop分布式文件系統(tǒng)中數(shù)據(jù)復制如何實現(xiàn)?HDFS被設計成在一個大集群中可以跨機器地可靠地存儲海量的文件。它將每個文件存儲成block序列,除了***一個block,所有的block都是同樣的大小。文件的所有block為了容錯都會被復制。每個文件的block大小和replication因子都是可配置的。Replication因子可以在文件創(chuàng)建的時候配置,以后也可以改變。HDFS中的文件是write-one,并且嚴格要求在任何時候只有一個writer。Namenode全權管理block的復制,它周期性地從集群中的每個Datanode接收心跳包和一個Blockreport。心跳包的接收表示該Datanode節(jié)點正常工作,而Blockreport包括了該Datanode上所有的block組成的列表。


1、副本的存放,副本的存放是HDFS可靠性和性能的關鍵。HDFS采用一種稱為rack-aware的策略來改進數(shù)據(jù)的可靠性、有效性和網(wǎng)絡帶寬的利用。這個策略實現(xiàn)的短期目標是驗證在生產(chǎn)環(huán)境下的表現(xiàn),觀察它的行為,構建測試和研究的基礎,以便實現(xiàn)更先進的策略。龐大的HDFS實例一般運行在多個機架的計算機形成的集群上,不同機架間的兩臺機器的通訊需要通過交換機,顯然通常情況下,同一個機架內(nèi)的兩個節(jié)點間的帶寬會比不同機架間的兩臺機器的帶寬大。
通過一個稱為RackAwareness的過程,Namenode決定了每個Datanode所屬的rackid。一個簡單但沒有優(yōu)化的策略就是將副本存放在單獨的機架上。這樣可以防止整個機架(非副本存放)失效的情況,并且允許讀數(shù)據(jù)的時候可以從多個機架讀取。這個簡單策略設置可以將副本分布在集群中,有利于組件失敗情況下的負載均衡。但是,這個簡單策略加大了寫的代價,因為一個寫操作需要傳輸block到多個機架。
在大多數(shù)情況下,replication因子是3,HDFS的存放策略是將一個副本存放在本地機架上的節(jié)點,一個副本放在同一機架上的另一個節(jié)點,***一個副本放在不同機架上的一個節(jié)點。機架的錯誤遠遠比節(jié)點的錯誤少,這個策略不會影響到數(shù)據(jù)的可靠性和有效性。三分之一的副本在一個節(jié)點上,三分之二在一個機架上,其他保存在剩下的機架中,這一策略改進了寫的性能。

2、副本的選擇,為了降低整體的帶寬消耗和讀延時,HDFS會盡量讓reader讀最近的副本。如果在reader的同一個機架上有一個副本,那么就讀該副本。如果一個HDFS集群跨越多個數(shù)據(jù)中心,那么reader也將首先嘗試讀本地數(shù)據(jù)中心的副本。

3、SafeMode
Namenode啟動后會進入一個稱為SafeMode的特殊狀態(tài),處在這個狀態(tài)的Namenode是不會進行數(shù)據(jù)塊的復制的。Namenode從所有的Datanode接收心跳包和Blockreport。Blockreport包括了某個Datanode所有的數(shù)據(jù)塊列表。每個block都有指定的最小數(shù)目的副本。當Namenode檢測確認某個Datanode的數(shù)據(jù)塊副本的最小數(shù)目,那么該Datanode就會被認為是安全的;如果一定百分比(這個參數(shù)可配置)的數(shù)據(jù)塊檢測確認是安全的,那么Namenode將退出SafeMode狀態(tài),接下來它會確定還有哪些數(shù)據(jù)塊的副本沒有達到指定數(shù)目,并將這些block復制到其他Datanode。

五、文件系統(tǒng)元數(shù)據(jù)的持久化

Hadoop分布式文件系統(tǒng)文件系統(tǒng)元數(shù)據(jù)的持久化問題。Namenode存儲HDFS的元數(shù)據(jù)。對于任何對文件元數(shù)據(jù)產(chǎn)生修改的操作,Namenode都使用一個稱為Editlog的事務日志記錄下來。例如,在HDFS中創(chuàng)建一個文件,Namenode就會在Editlog中插入一條記錄來表示;同樣,修改文件的replication因子也將往Editlog插入一條記錄。Namenode在本地OS的文件系統(tǒng)中存儲這個Editlog。整個文件系統(tǒng)的namespace,包括block到文件的映射、文件的屬性,都存儲在稱為FsImage的文件中,這個文件也是放在Namenode所在系統(tǒng)的文件系統(tǒng)上。

Namenode在內(nèi)存中保存著整個文件系統(tǒng)namespace和文件Blockmap的映像。這個關鍵的元數(shù)據(jù)設計得很緊湊,因而一個帶有4G內(nèi)存的Namenode足夠支撐海量的文件和目錄。當Namenode啟動時,它從硬盤中讀取Editlog和FsImage,將所有Editlog中的事務作用(apply)在內(nèi)存中的FsImage,并將這個新版本的FsImage從內(nèi)存中flush到硬盤上,然后再truncate這個舊的Editlog,因為這個舊的Editlog的事務都已經(jīng)作用在FsImage上了。這個過程稱為checkpoint。在當前實現(xiàn)中,checkpoint只發(fā)生在Namenode啟動時,在不久的將來我們將實現(xiàn)支持周期性的checkpoint。

Datanode并不知道關于文件的任何東西,除了將文件中的數(shù)據(jù)保存在本地的文件系統(tǒng)上。它把每個HDFS數(shù)據(jù)塊存儲在本地文件系統(tǒng)上隔離的文件中。Datanode并不在同一個目錄創(chuàng)建所有的文件,相反,它用啟發(fā)式地方法來確定每個目錄的***文件數(shù)目,并且在適當?shù)臅r候創(chuàng)建子目錄。在同一個目錄創(chuàng)建所有的文件不是***的選擇,因為本地文件系統(tǒng)可能無法高效地在單一目錄中支持大量的文件。當一個Datanode啟動時,它掃描本地文件系統(tǒng),對這些本地文件產(chǎn)生相應的一個所有HDFS數(shù)據(jù)塊的列表,然后發(fā)送報告到Namenode,這個報告就是Blockreport。

六、通訊協(xié)議
所有的HDFS通訊協(xié)議都是構建在TCP/IP協(xié)議上。客戶端通過一個可配置的端口連接到Namenode,通過ClientProtocol與Namenode交互。而Datanode是使用DatanodeProtocol與Namenode交互。從ClientProtocol和Datanodeprotocol抽象出一個遠程調(diào)用(RPC),在設計上,Namenode不會主動發(fā)起RPC,而是是響應來自客戶端和Datanode的RPC請求。本節(jié)關于Hadoop分布式文件系統(tǒng)沒有結束,請期待下節(jié)介紹。

【編輯推薦】

  1. Hadoop分布式文件系統(tǒng)安全隱患不得不防
  2. Hadoop分布式文件系統(tǒng)詳解
  3. Hadoop文件系統(tǒng)如何快速安裝?
  4. Hadoop集群搭建過程中相關環(huán)境配置詳解
  5. Hadoop完全分布模式安裝實現(xiàn)詳解
責任編輯:佚名 來源: javaeye.com
相關推薦

2010-06-07 11:00:53

Hadoop分布式文件

2010-06-04 18:45:43

Hadoop分布式文件

2013-01-07 10:29:31

大數(shù)據(jù)

2011-07-15 17:48:27

Platform

2010-11-01 05:50:46

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

2018-07-06 09:16:22

HadoopRAID文件系統(tǒng)

2012-05-10 14:04:07

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

2018-03-01 16:26:30

HDFSHadoop系統(tǒng)

2013-05-27 14:46:06

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

2019-09-05 09:02:45

消息系統(tǒng)緩存高可用

2013-06-18 14:13:43

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

2010-06-07 14:02:13

Hadoop的分布式文

2017-10-17 08:33:31

存儲系統(tǒng)分布式

2013-01-07 10:42:43

HDFS

2013-01-09 10:16:09

HDFS

2012-08-31 16:04:11

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

2013-06-18 14:00:59

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

2010-11-15 13:24:07

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

2012-09-19 15:05:24

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

2012-09-19 13:43:13

OpenAFS分布式文件系統(tǒng)
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩免费 | 日韩av一区二区在线观看 | 黄色激情毛片 | 日日操夜夜操视频 | 婷婷综合色| 欧美精品被 | 成人精品国产一区二区4080 | 一a级片| 国产一区 日韩 | 中文字幕成人在线 | 欧美一级在线观看 | 欧美黄色片 | 亚洲高清视频在线 | 亚洲一区二区三区在线免费观看 | 91av视频在线观看 | 亚洲成人免费电影 | 中文久久| 久久精品欧美视频 | 亚洲免费人成在线视频观看 | 亚洲精品成人av久久 | 91社区在线观看播放 | 综合久| 国产在线视频一区二区董小宛性色 | 久久久久电影 | 欧美精品久久久 | 日韩欧美亚洲一区 | 日韩精品一区二区三区在线观看 | 亚洲精品日韩精品 | 日日夜夜天天干 | 一区二区三区免费在线观看 | 国产精品一区二区福利视频 | 成人黄色av网站 | 人人干人人爽 | 亚洲福利在线视频 | 欧美在线观看一区 | 午夜三级在线观看 | 亚洲v日韩v综合v精品v | 欧美 日韩 国产 成人 | 日本一区二区在线视频 | h小视频| 黄色大片免费网站 |