CGFT知識點介紹:HDFS是什么!

CGFT大數(shù)據(jù)課程中,HDFS體系結(jié)構(gòu)是很重要的知識點。具體什么是HDFS,下文作詳細(xì)介紹!

HDFS采用了主從結(jié)構(gòu)模型,一個HDFS集群包括一個名稱節(jié)點和若干個數(shù)據(jù)節(jié)點。名稱節(jié)點作為中心服務(wù)器,負(fù)責(zé)管理文件系統(tǒng)的命名空間及客戶端對文件的訪問。

集群中的數(shù)據(jù)節(jié)點一般是一個節(jié)點運行一個數(shù)據(jù)節(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)記為“宕機”,不會再給它分配任何I/O請求。

特許全球金融科技師CGFT一級

在用戶使用HDFS時,仍然可以像在普通文件系統(tǒng)中那樣,使用文件名去存儲和訪問文件,實際上,在系統(tǒng)內(nèi)部,一個文件會被切分成若干個數(shù)據(jù)塊,這些數(shù)據(jù)塊被分布存儲到若干個數(shù)據(jù)節(jié)點上。

當(dāng)客戶端需要訪問一個文件時,首先把文件名發(fā)送給名稱節(jié)點,名稱節(jié)點根據(jù)文件名找到對應(yīng)的數(shù)據(jù)塊,干根據(jù)每個數(shù)據(jù)塊信息找到實際存儲各個數(shù)據(jù)塊的數(shù)據(jù)節(jié)點的文職,并把數(shù)據(jù)節(jié)點位置發(fā)送給客戶端。

然后,客戶端直接訪問這些數(shù)據(jù)節(jié)點獲取數(shù)據(jù),在整個訪問過程中,名稱節(jié)點并不參與數(shù)據(jù)的傳輸,這種設(shè)計方式,使得一個文件的數(shù)據(jù)能夠在不同的數(shù)據(jù)節(jié)點上實現(xiàn)并發(fā)訪問,大大提高了數(shù)據(jù)訪問速度。