hadoop之hdfs安全模式
阿新 • • 發佈:2018-03-14
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安全模式