您好,登錄后才能下訂單哦!
本篇內容介紹了“Hadoop怎么解除Name node is in safe mode”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
運行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的安全模式,這樣問題就解決了。
之前在hadoop執行過程中使用了"ctrl+c"操作
再次使用hadoop時出現“Name node is in safe mode”提示:
root@v-jiwan-ubuntu-0:~/hadoop/hadoop-0.20.2# bin/hadoop fs -put conf input
put: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot create directory /user/root/input/conf. Name node is in safe mode.
-----------------------------
最近在測試hadoop,但是沒想到在reduce時卡點,
沒辦法只好Ctrl+c,但是問題也就跟著來了XD
先將hadoop停止後,再啟動hadoop
然後要刪除DFS裡的資料時,
就出現name node is in safe mode,就沒辦法刪除資料啦!
找了好久才找到答案,
bin/hadoop dfsadmin -safemode leave 就可以把safemode解除,為了這個問題煩惱了好久Orz -----------------------------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 threshold 0.9990. Safe mode will be turned off automatically in 18 seconds.hadoop dfsadmin -safemode leave有兩個方法離開這種安全模式 1. 修改dfs.safemode.threshold.pct為一個比較小的值,缺省是0.999。 2. hadoop dfsadmin -safemode leave命令強制離開 http://bbs.hadoopor.com/viewthread.php?tid=61&extra=page%3D1 ----------------------------- Safe mode is exited when the minimal replication condition is reached, plus an extension time of 30 seconds. The minimal replication condition is when 99.9% of the blocks in the whole filesystem meet their minimum replication level (which defaults to one, and is set by dfs.replication.min). 安全模式的退出前提 - 整個文件系統中的99.9%(默認是99.9%,可以通過dfs.safemode.threshold.pct設置)的Blocks達到最小備份級別(默認是1,可以通過dfs.replication.min設置)。 dfs.safemode.threshold.pct float 0.999 The proportion of blocks in the system that must meet the minimum replication level defined by dfs.rep lication.min before the namenode will exit safe mode. Setting this value to 0 or less forces the name-node not to start in safe mode. Setting this value to more than 1 means the namenode never exits safe mode.----------------------------- 用戶可以通過dfsadmin -safemode value 來操作安全模式,參數value的說明如下: enter - 進入安全模式 leave - 強制NameNode離開安全模式 get - 返回安全模式是否開啟的信息 wait - 等待,一直到安全模式結束。
“Hadoop怎么解除Name node is in safe mode”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。