Hadoop——错误Name node is in safe mode

Hadoop——错误Name node is in safe mode

今天在重启hadoop服务的时候,想删除hdfs中的一个目录/test3,结果遇到了如下的错误,提示无法删除该目录:

root@0d0fc89cc479:/hadoop/hadoop-2.9.1/test/Class_Design# hadoop fs -rm -r /test3/
18/11/07 06:33:59 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
rm: Cannot delete /test3. Name node is in safe mode.

上网查了一下,这是因为此时Hadoop的NameNode正处在安全模式下,我也顺便简单地了解了一下什么是Hadoop的安全模式,下面简单地记录一下:
Hadoop的安全模式主要是为了系统在启动的时候检查各个DataNode上的数据块的有效性,并根据策略必要地进行部分数据块的删除或复制。在safemode模式下,分布式文件系统启动的时候,NameNode就会首先进入安全模式,此时文件系统中的内容是不允许修改或删除的,直到安全模式结束为止。

当然,在Hadoop运行期间,用户可以通过命令自行退出或进入安全模式,用户可以通过如下命令来操作安全模式:

hadoop dfsadmin -safemode [value]
/*
value参数的说明如下:
enter : 进入安全模式
leave : 强制NameNode退出安全模式
get : 返回安全模式是否开启的信息
wait : 等待,一直到安全模式结束
*/

因此,我就可以利用如下命令来强行退出安全模式:

root@0d0fc89cc479:/hadoop/hadoop-2.9.1/test/Class_Design# hadoop dfsadmin -safemode leave
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.

18/11/07 06:38:53 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Safe mode is OFF

运行后,就可以正常删除文件夹了:

root@0d0fc89cc479:/hadoop/hadoop-2.9.1/test/Class_Design# hadoop fs -rm -r /test3/
18/11/07 06:38:57 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Deleted /test3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值