root# bin/hadoop fs -mkdir t
mkdir: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot create directory /user/root/t. Name node is in safe mode.
无法在hdfs中创建任何内容
是的
root# bin/hadoop fs -safemode leave
但是展示
safemode: Unknown command
有什么问题?
解决方案:http://unmeshasreeveni.blogspot.com/2014/04/name-node-is-in-safe-mode-how-to-leave.html?m=1
9条答案
按热度按时间wecizke31#
如果您使用hadoopversion2.6.1以上的版本,当命令运行时,它会抱怨它的值被降低了。我真的不能用这个
hadoop dfsadmin -safemode leave
因为我在docker容器中运行hadoop,而在容器中运行时,该命令会神奇地失败,所以我所做的就是这样。我查了医生发现dfs.safemode.threshold.pct
在文件中说指定应满足dfs.replication.min定义的最小复制要求的块百分比。小于或等于0的值表示在退出安全模式之前不等待任何特定百分比的块。大于1的值将使安全模式永久化。
所以我改变了主意
hdfs-site.xml
在旧的hadoop版本中,显然您需要在hdfs-default.xml
:s8vozzvw2#
为了强制让namenode离开safemode,应该执行以下命令:
你越来越
Unknown command
命令错误为-safemode
不是的子命令hadoop fs
,但它是hadoop dfsadmin
.同样在上面的命令之后,我建议你跑一次
hadoop fsck
这样,HDF中出现的任何不一致之处都可以得到解决。更新:
使用
hdfs
命令而不是hadoop
新发行版的命令。这个hadoop
命令已被否决:mlmc2os53#
安全模式开启意味着(hdfs处于只读模式)
安全模式关闭意味着(hdfs处于可写和可读模式)
在
Hadoop 2.6.0
,我们可以通过以下命令检查名称节点的状态:检查名称节点状态
要进入安全模式:
离开安全模式
4ktjp1zp4#
命令对我不起作用,但下面的命令起作用了
我用了
hdfs
命令而不是hadoop
命令。退房http://ask.gopivotal.com/hc/en-us/articles/200933026-hdfs-goes-into-readonly-mode-and-errors-out-with-name-node-is-in-safe-mode- 链接也是
4ktjp1zp5#
使用hdfs os用户运行以下命令以禁用安全模式:
kxe2p93d6#
试试这个,会有用的
sg24os4d7#
使用下面的命令关闭安全模式
$>hdfs dfsadmin-安全模式离开
4ngedf3f8#
当内存不足时,namenode进入安全模式。结果,hdfs变得只可读。这意味着不能在hdfs中创建任何额外的目录或文件。要退出安全模式,使用以下命令:
如果您使用的是cloudera manager:
但它并不总能解决问题。完整的解决办法在于在内存中留出一些空间。使用以下命令检查内存使用情况。
如果您使用的是cloudera,还可以检查hdfs是否显示出一些不健康的迹象。它可能显示了一些与namenode相关的内存问题。按照可用选项分配更多内存。如果您不使用cloudera管理器,我不确定要使用什么命令来执行相同的操作,但必须有一种方法。希望有帮助!:)
sqserrrh9#
试试这个
检查安全模式的状态
如果仍处于安全模式,则其中一个原因可能是节点中没有足够的空间,可以使用以下方法检查节点磁盘的使用情况:
如果根分区已满,请删除文件或在根分区中添加空间,然后重试第一步。