删除 Hadoop 文件系统 (hdfs) 中的文件
Posted
技术标签:
【中文标题】删除 Hadoop 文件系统 (hdfs) 中的文件【英文标题】:Delete files in Hadoop file system (hdfs) 【发布时间】:2015-05-28 03:15:03 【问题描述】:我让一个 sqoop 作业运行,它完全填满了 hdfs(100%)。现在我无法删除 Hdfs 中的文件。它给了我一个执行权
# hdfs dfs -rm -skipTrash /TEST_FILE
rmr: Cannot delete /TEST_FILE. Name node is in safe mode.
我使用hdfs dfsadmin -safemode
退出安全模式。
[hdfs@sandbox /]$ hdfs dfsadmin -safemode leave
Safe mode is OFF
但是当我再次尝试使用hdfs dfs -rm -skipTrash /TEST_FILE
删除文件时,我收到NameNode is in safemode
的错误消息
我无法离开安全模式并删除文件。
谁能帮助我如何退出安全模式并删除文件?
【问题讨论】:
是单节点集群吗?您的集群中的数据复制因子是什么? 检查namenode是否有至少1个活动的datanode并检查你的磁盘中的存储。 试试这个hdfs dfsadmin -safemode leave
是单节点集群,数据复制因子为1。我也检查了磁盘存储,已经满了。
尝试“hadoop fs -expunge”,然后是“sudo -u hdfs hdfs dfsadmin -safemode leave”,这将有助于清空你的垃圾箱。这样你就可以留下一些空间。
【参考方案1】:
Namenode 不能使用命令“hdfs dfsadmin -safemode leave”退出安全模式,除非你真的在清理某些东西。如果您不执行任何操作并使用该命令,名称节点将返回安全模式。 由于您使用的是单节点集群,您可以尝试清理您的日志目录 /var/log/ ... 并将名称节点退出安全模式并删除 sqoop 留下的 hdfs 目录
【讨论】:
以上是关于删除 Hadoop 文件系统 (hdfs) 中的文件的主要内容,如果未能解决你的问题,请参考以下文章