hadoop安全模式

來源:互聯網
上載者:User

hadoop安全模式
在Distributed File System啟動的時候,開始的時候會有安全模式當Distributed File System處於安全模式的情況下,檔案系統中的內容不允許修改也不允許刪除,直到安全模式結束。安全模式主要是為了系統啟動的時候檢查各個DataNode上資料區塊的有效性,同時根據策略必要的複製或者刪除部分資料區塊。運行期通過命令也可以進入安全模式。在實踐過程中,系統啟動的時候去修改和刪除檔案也會有安全模式不允許修改的出錯提示,只需要等待一會兒即可。SafeModeException
異常
運行hadoop程式時,有時候會報以下錯誤:
org.apache.hadoop.dfs.SafeModeException: Cannot delete/user/hadoop/input. Name node is in safe mode.
那我們來分析下這個錯誤,從字面上來理解:“Name node is in safe mode.”

現在就清楚了,那現在要解決這個問題,我想讓Hadoop不處在safe mode 模式下,能不能不用等,直接解決呢?答案是可以的,

只要在Hadoop的目錄下輸入:

$bin/hadoop dfsadmin -safemode leave

也就是關閉Hadoop的安全模式,這樣問題就解決了。

safemode模式

NameNode在啟動的時候首先進入安全模式,如果datanode丟失的block達到一定的比例(1-dfs.safemode.threshold.pct),則系統會一直處於安全模式狀態即唯讀狀態。dfs.safemode.threshold.pct(預設值0.999f)表示HDFS啟動的時候,如果DataNode上報的block個數達到了中繼資料記錄的block個數的0.999倍才可以離開安全模式,否則一直是這種唯讀模式。如果設為1則HDFS永遠是處於SafeMode。
下面這行摘錄自NameNode啟動時的日誌(block上報比例1達到了閥值0.9990)
The ratio of reported blocks 1.0000 has reached the threshold0.9990. Safe mode will be turned off automatically in 18seconds.
 1.修改dfs.safemode.threshold.pct為一個比較小的值,預設是0.999。

 2. hadoop dfsadmin -safemode leave命令強制離開

hadoop dfsadmin-safemode 命令

格式:Usage: java DFSAdmin [-safemode enter | leave | get |wait]
使用者可以通過dfsadmin -safemode value 來操作安全模式,參數value的說明如下:
enter - 進入安全模式
leave - 強制NameNode離開安全模式
get   - 返回安全模式是否開啟的資訊
wait  - 等待,一直到安全模式結束。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.