HDFS結(jié)構(gòu)是什么?不知道這個你怎么能將CGFT考試考下來呢?要知道HDFS采用了主從(Master/Slave)結(jié)構(gòu)模型,一個HDFS集群包括一個名稱節(jié)點和若干個數(shù)據(jù)節(jié)點。

名稱節(jié)點作為中心服務(wù)器,負(fù)責(zé)管理文件系統(tǒng)的命名空間及客戶端對文件的訪問。集群中的數(shù)據(jù)節(jié)點一般是一個節(jié)點運行一個數(shù)據(jù)節(jié)點進(jìn)程,負(fù)責(zé)處理文件系統(tǒng)客戶端的讀寫請求,在名稱節(jié)點的統(tǒng)一調(diào)度下進(jìn)行數(shù)據(jù)塊的創(chuàng)建、刪除和復(fù)制等操作。

每個數(shù)據(jù)節(jié)點的數(shù)據(jù)實際上是保存在本地Linux文件系統(tǒng)中的。每個數(shù)據(jù)節(jié)點會周期性地向名稱節(jié)點發(fā)送“心跳”信息,報告自己的狀態(tài),沒有按時發(fā)送心跳信息的數(shù)據(jù)節(jié)點會被標(biāo)記為“容機(jī)”,不會再給它分配任何I/O請求。

 

HDFS采用Java語言開發(fā),因此,任何支持JVM的機(jī)器都可以部署名稱節(jié)點和數(shù)據(jù)節(jié)點。在實部署時,通常在集群中選擇一臺性能較好的機(jī)器作為名稱節(jié)點,其他機(jī)器作為數(shù)據(jù)節(jié)點。當(dāng)然,一機(jī)器可以運行任意多個數(shù)據(jù)節(jié)點,甚至名稱節(jié)點和數(shù)據(jù)節(jié)點也可以放在一臺機(jī)器上運行,不過,很在正式部署中采用這種模式。