微信公眾號:碼農小胡
Hadoop HDFS(二)
NAMENODE工作機制
NAMENODE職責:
(1)負責客戶端請求的響應。 (2)後設資料的管理,查詢,修改。
後設資料管理:
namenode對資料的管理採用了三種形式: 記憶體後設資料 磁碟後設資料映象檔案 資料操作日誌檔案
後設資料儲存機制
1)、記憶體中有一份完整的後設資料
2)、磁碟中有一個“準完整”的後設資料映象
3)、用於銜接記憶體metadata和持久化後設資料映象fsimage之間的操作日誌
checkpoint的詳細過程
1、更新記憶體。
2、secondarynamenode請求是否需要checkpoint,如果滿足條件,checkpoint。
3、namnode滾動,當前正在寫的edits。
4、下載操作的檔案到secondarynamenode。
5、載入到記憶體中併合並資料。
6、dump成新的image檔案。
7、上傳到namenode中。
8、重新命名成fsimage檔案。
( 附帶作用:namenode和secondary namenode的工作目錄儲存結構完全相同,所以,當namenode故障退出需要重新恢復的時候,可以從secondary namenode的工作目錄中將fsimage拷貝到namenode的工作目錄,以恢復namenode的後設資料 )
DATANODE工作機制
工作職責:
儲存使用者的檔案塊資料
定期向namenode彙報自身所持有的block資訊
datanode掉線判斷時限引數
datanode程式死亡或者網路故障造成datanode無法與namenode通訊,namenode不會立即把該節點判定死亡,要經過一段時間,這段時間暫稱操作時長,HDFS預設的超時時長為10分鐘+30秒
HDFS JAVA 操作 直接放程式碼到GitHub上面了