在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請求。
在用戶使用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ù)訪問速度。

學(xué)習(xí)交流群(掃碼免費加群)
-
1、新手入門
-
2、學(xué)習(xí)資料
-
3、免費課程
-
4、考試動態(tài)
-
5、備考干貨
-
6、答疑沖刺