原文出自:http://hi.baidu.com/zhy65991/item/8428013fcf459e342f0f8158
safemode模式
NameNode在啟動(dòng)的時(shí)候首先進(jìn)入安全模式,如果datanode丟失的block達(dá)到一定的比例(1-dfs.safemode.threshold.pct),則系統(tǒng)會(huì)一直處于安全模式狀態(tài)即只讀狀態(tài)。
dfs.safemode.threshold.pct(缺省值0.999f)表示HDFS啟動(dòng)的時(shí)候,如果DataNode上報(bào)的block個(gè)數(shù)達(dá)到了元數(shù)據(jù)記錄的block個(gè)數(shù)的0.999倍才可以離開安全模式,否則一直是這種只讀模式。如果設(shè)為1則HDFS永遠(yuǎn)是處于SafeMode。
下面這行摘錄自NameNode啟動(dòng)時(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=1
-----------------------------
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á)到最小備份級(jí)別(默認(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???來(lái)操作安全模式,參數(shù)value的說(shuō)明如下:
enter?-?進(jìn)入安全模式
leave?-?強(qiáng)制NameNode離開安全模式
get?-???返回安全模式是否開啟的信息
wait?-?等待,一直到安全模式結(jié)束。
總結(jié)
以上是生活随笔為你收集整理的org.apache.hadoop.hdfs.server.namenode.SafeModeException的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。