溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Hadoop怎么解除Name node is in safe mode

發(fā)布時(shí)間:2021-12-10 09:29:49 來源:億速云 閱讀:158 作者:iii 欄目:云計(jì)算

本篇內(nèi)容介紹了“Hadoop怎么解除Name node is in safe mode”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

運(yùn)行hadoop程序時(shí),有時(shí)候會報(bào)以下錯(cuò)誤: 

org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Name node is in safe mode 
這個(gè)錯(cuò)誤應(yīng)該還滿常見的吧(至少我運(yùn)行的時(shí)候是這樣的) 

那我們來分析下這個(gè)錯(cuò)誤,從字面上來理解: 
Name node is in safe mode 

說明Hadoop的NameNode處在安全模式下。 
那什么是Hadoop的安全模式呢? 
在分布式文件系統(tǒng)啟動的時(shí)候,開始的時(shí)候會有安全模式,當(dāng)分布式文件系統(tǒng)處于安全模式的情況下,文件系統(tǒng)中的內(nèi)容不允許修改也不允許刪除,直到安全模式結(jié)束。安全模式主要是為了系統(tǒng)啟動的時(shí)候檢查各個(gè)DataNode上數(shù)據(jù)塊的有效性,同時(shí)根據(jù)策略必要的復(fù)制或者刪除部分?jǐn)?shù)據(jù)塊。運(yùn)行期通過命令也可以進(jìn)入安全模式。在實(shí)踐過程中,系統(tǒng)啟動的時(shí)候去修改和刪除文件也會有安全模式不允許修改的出錯(cuò)提示,只需要等待一會兒即可。 

現(xiàn)在就清楚了,那現(xiàn)在要解決這個(gè)問題,我想讓Hadoop不處在safe mode 模式下,能不能不用等,直接解決呢? 
答案是可以的,只要在Hadoop的目錄下輸入: 
bin/hadoop dfsadmin -safemode leave 

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

之前在hadoop執(zhí)行過程中使用了"ctrl+c"操作
再次使用hadoop時(shí)出現(xiàn)“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時(shí)卡點(diǎn),
沒辦法只好Ctrl+c,但是問題也就跟著來了XD
先將hadoop停止後,再啟動hadoop
然後要?jiǎng)h除DFS裡的資料時(shí),
就出現(xiàn)name node is in safe mode,就沒辦法刪除資料啦!
找了好久才找到答案,

bin/hadoop dfsadmin -safemode leave
就可以把safemode解除,為了這個(gè)問題煩惱了好久Orz
-----------------------------safemode模式NameNode在啟動的時(shí)候首先進(jìn)入安全模式,如果datanode丟失的block達(dá)到一定的比例(1-dfs.safemode.threshold.pct),則系統(tǒng)會一直處于安全模式狀態(tài)即只讀狀態(tài)。
dfs.safemode.threshold.pct(缺省值0.999f)表示HDFS啟動的時(shí)候,如果DataNode上報(bào)的block個(gè)數(shù)達(dá)到了元數(shù)據(jù)記錄的block個(gè)數(shù)的0.999倍才可以離開安全模式,否則一直是這種只讀模式。如果設(shè)為1則HDFS永遠(yuǎn)是處于SafeMode。
下面這行摘錄自NameNode啟動時(shí)的日志(block上報(bào)比例1達(dá)到了閥值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有兩個(gè)方法離開這種安全模式
 1. 修改dfs.safemode.threshold.pct為一個(gè)比較小的值,缺省是0.999。
 2. hadoop dfsadmin -safemode leave命令強(qiáng)制離開
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).
安全模式的退出前提 - 整個(gè)文件系統(tǒng)中的99.9%(默認(rèn)是99.9%,可以通過dfs.safemode.threshold.pct設(shè)置)的Blocks達(dá)到最小備份級別(默認(rèn)是1,可以通過dfs.replication.min設(shè)置)。
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   來操作安全模式,參數(shù)value的說明如下:
enter - 進(jìn)入安全模式
leave - 強(qiáng)制NameNode離開安全模式
get -   返回安全模式是否開啟的信息
wait - 等待,一直到安全模式結(jié)束。

“Hadoop怎么解除Name node is in safe mode”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI