2016年3月22日 星期二

[ 常見問題 ] Hadoop 解除 "Name node is in safe mode"

Source From Here
Introduction
運行 hadoop 程序時,有時候會報以下錯誤:
org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Name node is in safe mode

這個錯誤應該還滿常見的吧(至少我運行的時候是這樣的) 那我們來分析下這個錯誤,從字面上來理解: Name node is in safe mode 說明 Hadoop 的 NameNode 處在安全模式下。 那什麼是 Hadoop 的安全模式呢? 在分佈式文件系統啟動的時候,開始的時候會有安全模式,當分佈式文件系統處於安全模式的情況下,文件系統中的內容不允許修改也不允許刪除,直到安全模式結束。安全模式主要是為了系統啟動的時候檢查各個DataNode上數據塊的有效性,同時根據策略必要的複製或者刪除部分數據塊。運行期通過命令也可以進入安全模式。在實踐過程中,系統啟動的時候去修改和刪除文件也會有安全模式不允許修改的出錯提示,只需要等待一會兒即可。 現在就清楚了,那現在要解決這個問題,我想讓Hadoop不處在safe mode模式下,能不能不用等,直接解決呢? 答案是可以的,只要在Hadoop的目錄下輸入:
# bin/hadoop dfsadmin -safemode leave

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

safemode 模式
用户可以通过 dfsadmin -safemode value 来操作安全模式,参数 value 的说明如下:
* enter - 进入安全模式
* leave - 强制NameNode离开安全模式
* get - 返回安全模式是否开启的信息
* wait - 等待,一直到安全模式结束。

This message was edited 2 times. Last update was at 22/03/2016 09:49:44

沒有留言:

張貼留言

[Git 常見問題] error: The following untracked working tree files would be overwritten by merge

  Source From  Here 方案1: // x -----删除忽略文件已经对 git 来说不识别的文件 // d -----删除未被添加到 git 的路径中的文件 // f -----强制运行 #   git clean -d -fx 方案2: 今天在服务器上  gi...