运行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解除。

  safemode模式 NameNode在启动的时候首先进入安全模式,如果datanode丢失的block达到一定的比例(1dfs.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”问题(转)的更多相关文章

  1. Hadoop 解除 “Name node is in safe mode”(转)

    运行Hadoop程序时,有时候会报以下错误: org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Na ...

  2. Hadoop 解除 “Name node is in safe mode”

    运行Hadoop程序时,有时候会报以下错误:  org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. N ...

  3. Hadoop Error:Name node is in safe mode的解决方法

    Error:name node is in  safe mode 解决方法:hadoop dfsadmin -safemode leave(见图)

  4. hadoop mkdir: Cannot create directory /usr. Name node is in safe mode.

    今天在hdfs上面创建文件夹的时候报了:org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Name ...

  5. Hadoop "Cannot create directory .Name node is in safe mode."解决方案

    转载自:http://www.waitig.com/hadoop-name-node-is-in-safe-mode.html 在使用Hadoop建立文件的时候,出现“Cannot create di ...

  6. Hadoop “Name node is in safe mode” 错误解决方法

    Hadoop 解除 "Name node is in safe mode" 运行hadoop程序时,有时候会报以下错误:org.apache.hadoop.dfs.SafeMode ...

  7. org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot create directory /user/hive/warehouse/page_view. Name node is in safe mode

    FAILED: Error in metadata: MetaException(message:Got exception: org.apache.hadoop.ipc.RemoteExceptio ...

  8. [hadoop]Cannot create directory /mdrill/tablelist/fact_seller_all_d. Name node is in safe mode.

    在执行mdrill创建表的时候报如下异常(蓝色部分为关键): [mdrill@hadoop1101 bin]$ ./bluewhale mdrill create ./create.sql higo ...

  9. hadoop退出安全模式Name node is in safe mode

    在使用 hdfs 的时候出现如下错误: 18/01/12 09:04:34 INFO fs.TrashPolicyDefault: Namenode trash configuration: Dele ...

随机推荐

  1. FieldInfo.IsSpecialName Property【转】

    Gets a value indicating whether the corresponding SpecialName attribute is set in the FieldAttribute ...

  2. Android系统原理与源码分析(1):利用Java反射技术阻止通过按钮关闭对话框

    原文出处:博主宇宙的极客http://www.cnblogs.com/nokiaguy/archive/2010/07/27/1786482.html 众所周知,AlertDialog类用于显示对话框 ...

  3. bootstrap-js(5)工具提示tooltip

    实例 当您想要描述一个链接的时候,工具提示(Tooltip)就显得非常有用.工具提示(Tooltip)插件是受 Jason Frame 写的 jQuery.tipsy 的启发.工具提示(Tooltip ...

  4. CRM setValue方法日期类型字段赋值

    setvalue datetime 赋值 得到“/Date(14000023232323)/”  这样的值 需要把 /去掉 var dd = Result.yt_purchase_date.subst ...

  5. Demo 示例控制输入光标位置

    <!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <meta name="aut ...

  6. Thinkphp的时间判断

    在做项目的过程中,非常频繁地遇到时间这个问题,像时间的比较,特定时间执行某一操作,但是现在只解决了一部分问题,先说明一下时间的判断问题. 很简单,时间,不断使date(),now(),都是字符串类型的 ...

  7. JAVA仿真之银行出纳员

    学习例子是参照<thinking in java>中修改的,先贴上运行结果: 注意看红框之中的内容,这个仿真要达到这样一个目的: 1.客户队列(无优先级):每隔300MILLS生产一个客户 ...

  8. J2SE知识点摘记(十)

    1.        多线程的同步 2.        同步代码块 即程序中不能有多个线程同时在这两句代码之间执行.(必须两句代码执行完,其他线程才可以公用执行) 同步代码块定义语法如下 ... syn ...

  9. WIN7 64位通过VPN远程登录 ASP.Net通过VPN访问Oracle服务器

    因为客户这边的服务器是64位的,所以本人手贱,把系统换成了64位的win7,以为来客户这边工作会更方便,谁知道来到客户这边,进不了他们公司的内网,然后给我一个VPN的账号,先VPN然后才能登录他们的测 ...

  10. codeforces #286 Div.2 C DP总是以意外的方式打败我

    题目大意:30001个岛排成一排,编号从0到30000,一共有n个宝物分散在这些岛上,一只猪最开始从0跳到d,之后每一步跳的步长和上一步相差不超过1,第二步步长就是d-1,d,d+1,第二步的位置就是 ...