namenode(nn)
namenode的metadata資訊在啟動後會載入到記憶體中,metadata資訊儲存在磁碟檔案fsimage,edits檔案記錄對metadata的操作日誌,block位置資訊只存在記憶體,不儲存到fsimage。
secondarynamenode(snn)
不是nn的備份,但是可以備份部分,主要工作是幫助nn合併edits的log,減少nn啟動時間。snn執行合併時機有2種,1種是間隔3600秒,2是根據edits檔案的最大值來確定,預設為64m。
datanode(dn)
通過向nn傳送心跳保持與其聯絡,預設3秒/次,如果nn在10分鐘沒有收到dn的心跳,則認為其已經lost,並copy其上的block到其他dn。
snn會定期的檢查nn節點中edits日誌檔案的大小。
當客戶端結束寫入資料,則呼叫close函式,此操作將所有資料庫寫入pipeline中的datanode節點,並等待ack queue返回成功,最後通知namenode節點寫入完畢。
第乙個副本放在上傳檔案的dn上,如果是集群外提交,則隨機挑選一台,cpu不忙的節點。
第二個副本放在與第乙個副本不同機架的節點上。
第三個副本與第二個副本放在相同機架的節點上。
hdfs支援許可權控制,但比較弱,支援按使用者、使用者組、其他使用者的讀寫執行控制許可權。hdfs許可權目的還是阻止好人做錯事,而不是阻止壞人做壞事。使用者上傳檔案到hdfs,那麼檔案所有者就是該使用者,不管linux中該使用者是否存在。
當集群啟動時,會首先進入安全模式。namenode節點首先將映像檔案(fsimage)載入記憶體,並執行編輯日誌(edits)中各項操作。一旦在記憶體中成功建立檔案系統元資料的對映,則建立乙個新的fsimage檔案(這個操作不需要secondarynamenode)和乙個空的編輯日誌。
此刻namenode執行在安全模式,即namenode的檔案系統對於客戶端來僅僅是可讀的。(只顯示目錄、檔案內容等,寫、刪除、重新命名都會失敗)。
該階段namenode收集各個datanode的報告,當檢測到副本數不足的資料塊時,該塊會被複製直到達到最小副本數。資料塊達到最小副本數以上時,會被認為是安全的。在一定比例的資料塊被確定為安全後,過若干時間,安全模式結束。
優點:
缺點:
Hadoop 學習總結之一 HDFS簡介
資料節點是檔案系統中真正儲存資料的地方。從元資料節點 secondary namenode 1.2.1 元資料節點資料夾結構 1.2.2 檔案系統命名空間映像檔案及修改日誌 1.2.3 從元資料節點的目錄結構 1.2.4 資料節點的目錄結構 當客戶端結束寫入資料,則呼叫stream的close函式。...
Hadoop 學習總結之一 HDFS簡介
資料節點是檔案系統中真正儲存資料的地方。從元資料節點 secondary namenode 1.2.1 元資料節點資料夾結構 1.2.2 檔案系統命名空間映像檔案及修改日誌 1.2.3 從元資料節點的目錄結構 1.2.4 資料節點的目錄結構 當客戶端結束寫入資料,則呼叫stream的close函式。...
Hadoop 學習總結之一 HDFS簡介
資料節點是檔案系統中真正儲存資料的地方。從元資料節點 secondary namenode 1.2.1 元資料節點資料夾結構 namespaceid 1232737062 ctime 0 storagetype name node layoutversion 18 1.2.2 檔案系統命名空間映像檔...