文档章节

Hadoop 解除 "Name node is in safe mode"

Zero零_度
 Zero零_度
发布于 2014/11/25 08:16
字数 975
阅读 20
收藏 0

运行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 - 等待,一直到安全模式结束。

本文转载自:http://blog.csdn.net/hongweigg/article/details/7185328

共有 人打赏支持
Zero零_度
粉丝 67
博文 1245
码字总数 252866
作品 0
程序员
Name node is in safe mode. Is no working!

[hadoop@master ~]$ start-all.sh Warning: $HADOOP_HOME is deprecated. starting namenode, logging to /home/wqj/opt/modules/hadoop/hadoop-1.0.3/libexec/../logs/hadoop-hadoop-nameno......

hiqj
2013/12/28
470
2
Name node is in safe mode.

运行hadoop程序时,有时候会报以下错误: org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Name node is in safe mode 这个错误应该还满常见的吧(至少我运行的...

闵开慧
2012/08/04
0
0
hadoop中MR执行环境有两种:本地测试环境,服务器环境

一、本地测试环境 1、在windows下配置hadoop的环境变量 2、拷贝debug工具(winutils.ext)到HADOOP_HOME/bin 3、修改hadoop的源码 放到src目录下 4、MR调用的代码需要改变: a、src不能有服务器...

xiaozhou18
2016/11/16
41
0
hadoop之 安全模式及SafeModeException

问题: hadoop启动的时候报错 HTTP ERROR 500 Problem accessing /nn_browsedfscontent.jsp. Reason: Cannot issue delegation token. Name node is in safe mode. The reported blocks 0 n......

技术小美
2017/11/12
0
0
hadoop常见异常

1、Shell$ExitCodeException 现象:运行hadoop job时出现如下异常: 原因及解决办法:原因未知。重启可恢复正常 2、Safe mode 现象:分配map reduce任务时产生: 说明Hadoop的NameNode处在安...

o0无忧亦无怖
2015/10/08
38
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

dubbo部分常见的面试题目

1、什么是AMQP协议? AMQP的全称是 Advanced Message Queuing Protocol (高级消息队列协议) 他是应用层协议的一个开放的标准,为面向消息中间件而设计,基于此协议的客户端和消息中间件可以...

DemonsI
11分钟前
0
0
http和https协议

HTTPS全称为Hypertext Transfer Protocol over Secure Socket Layer,中文含义为“超文本传输协议在安全加密字层”,简单来说就是加密数据传输,通俗的说就是安全连接。 HTTPS安全超文本传输...

寰宇01
12分钟前
0
0
vue内引入语音播报功能

在vue项目中引入语音播报,使用的科大讯飞语音接入, 具体思路为每次接收到语音信息后存入一个数组,然后监听这个数组,开始冲第一个索引播放,并且同时根据vuex getter 来动态删减数量 给a...

originDu
20分钟前
0
0
Java创建对象的五种方式

一、使用new关键字,调用构造方法创建对象 Person p1 = new Person(); 运行过程: 1、给新对象分配内存空间,将数据存储到堆。 2、执行显示的初始化。 3、执行构造器。new方法中括号参数传递...

Drathin
21分钟前
0
0
git使用纪要

之前公司一直没用git,于是自己注册了一个账号自己用,因为也没人合作,所以也没太关注协作方面的事情。最近公司终于想通了,开始用git,于是研究了一下,在此做个记录。 git功能非常灵活,因...

propagator
26分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部