在CGFT大數(shù)據(jù)課程中,HDFS體系結(jié)構(gòu)是很重要的知識(shí)點(diǎn)。具體什么是HDFS,下文作詳細(xì)介紹!
HDFS采用了主從結(jié)構(gòu)模型,一個(gè)HDFS集群包括一個(gè)名稱節(jié)點(diǎn)和若干個(gè)數(shù)據(jù)節(jié)點(diǎn)。名稱節(jié)點(diǎn)作為中心服務(wù)器,負(fù)責(zé)管理文件系統(tǒng)的命名空間及客戶端對(duì)文件的訪問。
集群中的數(shù)據(jù)節(jié)點(diǎn)一般是一個(gè)節(jié)點(diǎn)運(yùn)行一個(gè)數(shù)據(jù)節(jié)點(diǎn)運(yùn)行一個(gè)數(shù)據(jù)節(jié)點(diǎn)進(jìn)行,負(fù)責(zé)處理文件系統(tǒng)客戶端的讀寫請(qǐng)求。在名稱節(jié)點(diǎn)的統(tǒng)一調(diào)度下進(jìn)行數(shù)據(jù)塊的創(chuàng)建、刪除和復(fù)制等操作。
每個(gè)數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)實(shí)際上是保存在本地Linux文件系統(tǒng)中的,每個(gè)數(shù)據(jù)節(jié)點(diǎn)會(huì)周期性地想名稱節(jié)點(diǎn)發(fā)送“心跳”信息,報(bào)告自己的狀態(tài),沒有按時(shí)發(fā)送心跳信息的數(shù)據(jù)節(jié)點(diǎn)會(huì)被標(biāo)記為“宕機(jī)”,不會(huì)再給它分配任何I/O請(qǐng)求。
在用戶使用HDFS時(shí),仍然可以像在普通文件系統(tǒng)中那樣,使用文件名去存儲(chǔ)和訪問文件,實(shí)際上,在系統(tǒng)內(nèi)部,一個(gè)文件會(huì)被切分成若干個(gè)數(shù)據(jù)塊,這些數(shù)據(jù)塊被分布存儲(chǔ)到若干個(gè)數(shù)據(jù)節(jié)點(diǎn)上。當(dāng)客戶端需要訪問一個(gè)文件時(shí),首先把文件名發(fā)送給名稱節(jié)點(diǎn),名稱節(jié)點(diǎn)根據(jù)文件名找到對(duì)應(yīng)的數(shù)據(jù)塊,干根據(jù)每個(gè)數(shù)據(jù)塊信息找到實(shí)際存儲(chǔ)各個(gè)數(shù)據(jù)塊的數(shù)據(jù)節(jié)點(diǎn)的文職,并把數(shù)據(jù)節(jié)點(diǎn)位置發(fā)送給客戶端。
然后,客戶端直接訪問這些數(shù)據(jù)節(jié)點(diǎn)獲取數(shù)據(jù),在整個(gè)訪問過程中,名稱節(jié)點(diǎn)并不參與數(shù)據(jù)的傳輸,這種設(shè)計(jì)方式,使得一個(gè)文件的數(shù)據(jù)能夠在不同的數(shù)據(jù)節(jié)點(diǎn)上實(shí)現(xiàn)并發(fā)訪問,大大提高了數(shù)據(jù)訪問速度。
學(xué)習(xí)交流群(掃碼免費(fèi)加群)
- 1、新手入門
- 2、學(xué)習(xí)資料
- 3、免費(fèi)課程
- 4、考試動(dòng)態(tài)
- 5、備考干貨
- 6、答疑沖刺