HDFS架構流程原理(面試開發重點)

2021-10-23 21:49:14 字數 1152 閱讀 9059

hdfs定義及優缺點

hdfs是分布式檔案管理系統,這種系統可以管理多台機器的檔案,是可以分布式的儲存檔案,適合一次寫入,多次讀出的場景,但不支援檔案的修改。

優點:多副本提高容錯,可以處理大資料,使用機器廉價。

缺點:不適合實時資料,害怕小檔案,只能追加不能隨機修改。

hdfs成員及工作原理(面試開發重點)

namenode(nn):主管,管理資料塊(block)和與客戶端通訊。

工作機制:nn的元資料存在記憶體中但是會在磁碟上產生備份元資料的fsimage,為防止斷電丟資料,引入edits檔案,只記錄對元資料產生的操作。斷電後只需要合併fsimage和edits即可恢復原來操作。nn只負責第一次開啟時將兩個檔案載入到記憶體中合併,後面合併任務交給2nn

datanode(dn):小弟,儲存資料塊,執行讀寫操作。

工作機制:資料塊在dn上以檔案的形式儲存在磁碟上,包括兩個檔案,乙個是資料本身,乙個是元資料報括資料塊的長度,校驗和,時間戳。,dn啟動後先向nn註冊,週期性匯報塊資訊,心跳是每3秒一次,由dn向nn傳送,返回結果帶有nn命令,10分鐘nn未收到心跳,該節點不可用。

secondarynamenode(2nn):秘書,分擔nn工作量,定期合併fsimage和edits,緊急情況下可恢復nn,2nn在合併了兩個檔案後將結果返回給nn。

client:客戶端,將檔案切分為block,輸入命令管理hdfs。

hdfs檔案塊大小(面試重點)

檔案在hdfs上是按塊(block)儲存的,在hadoop2.0後為128m,塊的大小不能太大也不能太小。

hdfs寫資料流程(面試重點)

1、客戶端通過distributed filesystem向nn請求上傳檔案,nn檢查後返回是否可以上傳。

2、客戶端請求第乙個block上傳到哪個dn上,nn返回dn1,dn2,dn3

3、客戶端通過fsdataoutputstream請求dn1上傳,dn1回將2和3調起,通訊管道完成

4、客戶端上傳第乙個block到dn1上,以packet為單位,dn1傳給2和3

5、第乙個block傳完後,重複上述步驟,傳第二個block

hdfs寫資料流程

HDFS儲存架構剖析以及讀寫流程

hdfs儲存架構主要由三部分組成 namenode,datanode,client 1 開啟分布式檔案 呼叫 分布式檔案 distributedfilesystem.open 方法 2 從 namenode 獲得 datanode 位址 distributedfilesystem 使用 rpc 呼叫...

react最新fiber架構原理和流程

react16以後做了很大的改變,對diff演算法進行了重寫,從總體看,主要是把一次計算,改變為多次計算,在瀏覽器有高階任務時,暫停計算。原理 從stack reconciler到fiber reconciler,原始碼層面其實就是幹了一件遞迴改迴圈的事情 fiber設計目的 解決由於大量計算導致瀏...

大資料面試常問問題 HDFS讀寫流程

首先,客戶端向namenode請求上傳檔案。namenode檢測相應的檔案是否存在,若不存在namenode則向client響應可以上傳。client按照128m切分檔案,切分完檔案之後,client請求namenode第乙個block上傳的位置,namenode返回block應上傳的相應的bloc...