首頁技術(shù)文章正文

HDFS是什么?HDFS的組成

更新時(shí)間:2021-04-15 來源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif

HDFS( Hadoop Distributed File System)是一個(gè)易于擴(kuò)展的分布式文件系統(tǒng),運(yùn)行在網(wǎng)百上千臺低成本的機(jī)器上。它與現(xiàn)有的分布式文件系統(tǒng)有許多相似之處,都是用來存值據(jù)的系統(tǒng)工具,而區(qū)別在于HDFS具有高度容錯(cuò)能力,旨在部署在低成本機(jī)器上。HDFS提供對應(yīng)用程序數(shù)據(jù)的高吞吐量訪問,主要用于對海量文件信息進(jìn)行存儲和管理,也就是解決大數(shù)據(jù)文件(如TB乃至PB級)的存儲問題。


HDFS的組成部分


1、 NameNode(名稱節(jié)點(diǎn))

NameNode是HDFS集群的主服務(wù)器,通常稱為名稱節(jié)點(diǎn)或者主節(jié)點(diǎn)。一但NameNode關(guān)閉,就無法訪問Hadoop集群。NameNode主要以元數(shù)據(jù)的形式進(jìn)行管理和存儲,用于維護(hù)文件系統(tǒng)名稱并管理客戶端對文件的訪問;NameNode記錄對文件系統(tǒng)名稱空間或其屬性的任何更改操作;HDFS負(fù)責(zé)整個(gè)數(shù)據(jù)集群的管理,并且在配置文件中可以設(shè)置備份數(shù)量,這些信息都由NameNode存儲。


2、DataNode(數(shù)據(jù)節(jié)點(diǎn))

DataNode是HDFS集群中的從服務(wù)器,通常稱為數(shù)據(jù)節(jié)點(diǎn)。文件系統(tǒng)存儲文件的方式是將文件切分成多個(gè)數(shù)據(jù)塊,這些數(shù)據(jù)塊實(shí)際上是存儲在DataNode節(jié)點(diǎn)中的,因此DataNode機(jī)器需要配置大量磁盤空間。它與NameNode保持不斷的通信,DataNode在客戶端或者NameNode的調(diào)度下,存儲并檢索數(shù)據(jù)塊,對數(shù)據(jù)塊進(jìn)行創(chuàng)建、刪除等操作,并且定期向NameNode發(fā)送所存儲的數(shù)據(jù)塊列表,每當(dāng)DataNode啟動(dòng)時(shí),它將負(fù)責(zé)把持有的數(shù)據(jù)塊列表發(fā)送到NameNode機(jī)器中。


3、Block( 數(shù)據(jù)塊)

每個(gè)磁盤都有默認(rèn)的數(shù)據(jù)塊大小,這是磁盤進(jìn)行數(shù)據(jù)讀/寫的最小單位,HDFS同樣也有塊(block)的概念,它是抽象的塊,而非整個(gè)文件作為存儲單元,在Hadoop2. x版本中,默認(rèn)大小是128M,且備份3份,每個(gè)塊盡可能地存儲于不同的DataNode中。按塊存儲的好處主要是屏蔽了文件的大小(在這種情況下,可以將一個(gè)文件分成N個(gè)數(shù)據(jù)塊,存儲到各個(gè)磁盤,就簡化了存儲系統(tǒng)的設(shè)計(jì)。為了數(shù)據(jù)的安全,必須要進(jìn)行備份,而數(shù)據(jù)塊非常適合數(shù)

據(jù)的備份),提供數(shù)據(jù)的容錯(cuò)性和可用性。


4. Rack(機(jī)架)

Rack是用來存放部署Hadoop集群服務(wù)器的機(jī)架,不同機(jī)架之間的節(jié)點(diǎn)通過交換機(jī)通信,HDFS通過機(jī)架感知策略,使NameNode能夠確定每個(gè)DataNode所屬的機(jī)架ID,使用副本存放策略,來改進(jìn)數(shù)據(jù)的可靠性、可用性和網(wǎng)絡(luò)帶寬的利用率。


5. Metadata(元數(shù)據(jù))

元數(shù)據(jù)從類型上可分為三種信息形式,一是維護(hù)HDFS中文件和目錄的信息,如文件名、目錄名、父目錄信息、文件大小、創(chuàng)建時(shí)間、修改時(shí)間等;二是記錄文件內(nèi)容,存儲相關(guān)信息,如文件分塊情況、副本個(gè)數(shù)、每個(gè)副本所在的DataNode信息等;三是用來記錄HDFS中所有DataNode的信息,用于DataNode管理。


小提示:具體文件內(nèi)容不是元數(shù)據(jù),元數(shù)據(jù)是用于描述和組織具體的文件內(nèi)容,如果沒有元數(shù)據(jù),具體的文件內(nèi)容將變得沒有意義。元數(shù)據(jù)的作用十分重要,它們的可用性直接決定了HDFS的可用性。


原文:HDFS是什么?有什么作用?


猜你喜歡:

零基礎(chǔ)入門必看,大數(shù)據(jù) Hadoop 3.0教程

Hadoop有幾種運(yùn)行模式?各種模式都有哪些特性?

HDFS讀數(shù)據(jù)和寫數(shù)據(jù)的原理分別是什么?

HDFS分布式文件系統(tǒng)的優(yōu)點(diǎn)缺點(diǎn)有哪些?

黑馬程序員大數(shù)據(jù)培訓(xùn)課程

分享到:
在線咨詢 我要報(bào)名
和我們在線交談!