运行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://www.linuxidc.com/Linux/2012-07/65466.htm

HDFS退出安全模式相关推荐

  1. hdfs通过接口退出安全模式_Hadoop之HDFS简介

    奇技指南HDFS作为运行在通用硬件上的分布式文件系统,和现有的分布式文件系统既有很多的共同点,也存在很多的差异.本文从HDFS是什么开始介绍,包括了HDFS架构.HDFS的读写.各个组件的作用.具体操 ...

  2. HDFS强制退出安全模式

    hdfs dfsadmin -safemode leave; //退出安全模式hdfs dfsadmin -safemode forceExit; //强制退出安全模式 若使用正常的退出安全模式方法无 ...

  3. hadoop无法退出安全模式

    hadoop无法退出安全模式,报"name node is in safe mode"错误提示. 集群安全模式 集群处于安全模式,不能执行重要操作(写操作).集群启动完成后,自动退 ...

  4. Hadoop退出安全模式

    Hadoop退出安全模式 hadoop为了防止数据丢失,启动了"安全模式"的设置,每次启动hadoop后一段时间内集群处于安全模式,该模式下集群会检查各节点文件块的记录,如果数据块 ...

  5. hadoop中namenode退出安全模式

    为什么NameNode会处于安全模式? 1.NameNode发现集群中DataNode丢失达到一定比例(0.01%)时会进入安全模式,此时只允许查看数据不允许对数据进行任何操作. 2.HDFS集群即使 ...

  6. hadoop进入退出安全模式

    查看状态 bin/hdfs dfsadmin -safemode get 进入安全模式 [root@master hadoop]# bin/hdfs dfsadmin -safemode enter ...

  7. HDFS 关闭安全模式

    hdfs dfsadmin -safemode leave; //退出安全模式 hdfs dfsadmin -safemode forceExit; //强制退出安全模式 若使用正常的退出安全模式方法 ...

  8. Hadoop生态圈(六)- HDFS NAMENODE 安全模式

    目录 前言 1. HDFS NAMENODE 安全模式 1.1 场景:安全模式探究 1.2 安全模式概述 1.3 安全模式自动进入离开 1.3.1 自动进入时间 1.3.2 自动离开条件 1.4 安全 ...

  9. 苹果计算机开机进入安全模式,iphone进入安全模式及退出安全模式的方法

    放眼现在使用手机的用户来说, 苹果 是非常受欢迎的一个品牌,然而许多朋友对苹果手机自带的某些功能并不十分了解,其中,安全模式就是一种十分容易让人忽略的模式,那么,苹果安全模式什么,它又是该如何进入和退 ...

最新文章

  1. PyTorch Upsample() 函数实现上采样
  2. [codevs 1911] 孤岛营救问题
  3. java serialization/deserialization (序列化对象自描述)
  4. php 安全基础 第七章 验证与授权 永久登录
  5. linux子线程运行的函数_Linux中线程使用详解
  6. 1 计算机组成原理第一章 计算机系统概述 计算机发展历程、层次结构、性能指标
  7. 2017双11技术揭秘—阿里巴巴数据库技术架构演进
  8. HA功能与DRS配合使用
  9. 密码学是如何保护区块链的 1
  10. pat03-树3. Tree Traversals Again (25)
  11. nohup命令的用法
  12. 浏览器点击后退提示_当点击浏览器后退时会发生什么
  13. 自考本科英语(二)学习笔记和考试经验
  14. ubuntu无法识别android手机
  15. Android事件分发之源码分析,kotlin库
  16. 新零售如何做到线上线下相结合?
  17. 【Spring】普通类获取Spring容器的bean的方法
  18. 最强TI蓝牙5.0方案CC2652R芯片模块
  19. 前端三件套——我看HTML及CSS
  20. 火车售票系统 java_基于jsp的火车售票系统-JavaEE实现火车售票系统 - java项目源码...

热门文章

  1. 使用代码的当前SVN版本构建项目build版号
  2. 朋少教你合理进行内部链接优化布局
  3. SincNet 原始波形的说话人识别
  4. html5 移动页面,html5入门到精通,移动设备的html5页面布局
  5. golang的ECB加密代码文件下载
  6. 二、springBoot 整合 mybatis 项目实战
  7. 本地滑块识别DLL/本地通用验证码识别DLL/文字点选/图标点选/本地识别DLL
  8. UNI-APP,uni.scanCode扫码页面显示英文,uni.showActionSheet自带取消按钮显示英文问题的解决
  9. 反馈纠错机制在学习中的重要性
  10. 帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)