1. 程式人生 > >hdfs中NameNode啟動過程介紹

hdfs中NameNode啟動過程介紹

1.NameNode啟動過程介紹

一、簡單介紹NameNode
NameNode儲存檔案系統的元資料。

二、NameNode的儲存
NameNodede資料存放在兩個地方,一個是記憶體,一個是本地磁碟。在磁碟中的儲存分為fsimage(映象檔案)、edits(編輯日誌檔案)。

三、NameNode的啟動過程
1.第一次啟動hdfs,我們需要格式化hdfs檔案系統。

hdfs bin/hdfs namenode -format

格式化hdfs的後我們會生成fsimage映象檔案,儲存檔案系統的元資料。
2.格式化hdfs後,啟動NameNode。nameNode會讀取fsimage映象檔案。獲取檔案的元資料如檔名,檔案目錄結構,檔案屬性(生成時 間、副本數、檔案許可權)以及每個檔案的塊列表和塊的位置。
3.啟動DataNode,啟動DataNode首先會向NameNode去註冊,然後會向NameNode傳送一些塊的報告。NameNode為了核對dataNode上的塊(資料)是否有缺失情況。
4.當用戶用檔案系統對檔案進行建立、上傳、讀取、刪除等操作的時候,NameNode會將這些操作寫入編輯日誌檔案edits中。由此看出edits這個檔案存放的是檔案系統中元資料的變化資訊。

第二次啟動hdfs,啟動NameNode ,nameNode首先讀取映象檔案fsimage和編輯日誌檔案edits,這時候,nameNode 擁有完整的元資料,載入到記憶體,然後建立一個新的fsimage檔案,並建立一個新的edits檔案。然後接著走第一次啟動的2.3.4步驟。

2.SecondaryNameNode的輔助過程介紹

一、簡單介紹SecondaryNameNode
輔助NameNode。

二、SecondaryNameNode的輔助過程
由於edits檔案太大,nameNode讀起來很費時間。所以SecondaryNameNode會幫著nameNode讀取edits和fsimage檔案並生成一個新的fsimage檔案給nameNode。提高NameNode的工作效率。

3.SafeMode介紹

一、什麼時候會出現安全模式?
啟動NomeNode開始到校驗DataNode向NameNode傳送的塊資料成功後。當hdfs處於安全模式的時候,不允許進行改變元資料的操作如上傳檔案,刪除檔案等。允許讀操作。
二手動SafeMode操作
進入安全模式

[hadoop@hadoop-sjzc hadoop-2.5.0]$ bin/hdfs dfsadmin -safemode enter

檢視安全模式

[hadoop@hadoop-sjzc hadoop-2.5.0]$ bin/hdfs dfsadmin -safemode get

退出安全模式

[hadoop@hadoop
-sjzc hadoop-2.5.0]$ bin/hdfs dfsadmin -safemode leave