1. 程式人生 > >hadoop之hdfs安全模式

hadoop之hdfs安全模式

Hadoop 大數據 加米谷大數據 hdfs

namenode啟動時,首先將映像文件(fsimage)載入內存,並中興編輯日誌中的各項操作。一旦在內存中成功建立文件系統元數據的映像,則創建一個新的fsimage文件(該操作不需要借助namenode)和一個空的編輯日誌。此時,namenode開始監聽RPC和http請求。但是此刻namenode運行在安全模式,即namenode的文件系統對於客戶端來說是只讀的。(只有訪問文件系統元數據的文件系統操作時肯定成功執行的,對於讀文件操作,只有集群中當前datanode上的塊可用時,才能工作。但文件修改操作,包括寫、刪或重命名均會失敗)。技術分享圖片

在安全模式下namenode並不向datanode發出任何塊復制或刪除的指令。如果滿足“最小副本條件”,namenode會在30秒鐘後就退出安全模式,啟動一個剛格式化的HDFS集群時,因系統中還沒任何塊,所以namenode不會進入安全模式。技術分享圖片

01、進入和離開安全模式

hdfs dfsadmin -safemode get 顯示是否處於安全模式

hdfs dfsadmin -safemode wait 一直等到某條命令到來前才退出安全模式

以下可以隨時進入或離開安全模式

hdfs dfsadmin -safemode enter 進入安全模式

hdfs dfsadmin -safemode leave 離開安全模式

02、安全模式相關的屬性

dfs.replication.min(默認1),成功執行寫操作所需創建的最小副本數(也稱最小副本級別)

dfs.safemode.threshold.pct(默認值0.999),在namenode退出安全模式之前,系統中滿足最小副本級別(由dfs.replication.min定義)的塊的比例。將這項值設為0或更小會令namenode無法啟動安全模式,設為高於1則永遠不會退出安全模式。

dfs.safemode.extension(默認值30000),在滿足最小副本條件之後,namenode還需處於安全模式的時間(以毫秒為單位),對於小型集群可設為0

hadoop之hdfs安全模式