无法从dfs中删除文件,因为安全模式已启用

tzdcorbm  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(376)

我正在使用cloudera的vm来运行hadoop。99%的dfs空间已用完。所以我需要删除文件,但要删除文件,安全模式需要关闭。
我试图用以下命令关闭安全模式,

sudo -u hdfs hdfs dfsadmin -safemode leave

它说它已经关闭了,但由于空间太小,它会自动打开它。当我试图删除文件,它说,因为安全模式是开着的,你不能删除文件。

SafeModeException: Cannot create directory /user/cloudera/.Trash/Current. Name node is in safe mode. Resources are low on NN. Please add or free up more resources then turn off safe mode manually. NOTE: If you turn off safe mode before adding resources, the NN will immediately return to safe mode.. (error 403)

要删除文件,需要关闭安全模式。要关闭安全模式,我需要释放空间!那么,如何清理文件以提供更多空间呢?

bpsygsoo

bpsygsoo1#

重要的是要知道hdfs只是使用硬盘的磁盘空间。因此,如果在单节点系统上hdfs已满,则本地磁盘也已满。
尝试是否可以通过删除非hdfs文件来清理文件(例如/var/log/…)

o0lyfsai

o0lyfsai2#

您可以尝试通过将以下选项临时设置为低值来降低触发安全模式的阈值:

dfs.safemode.threshold.pct
dfs.namenode.safemode.threshold-pct

此外,namenode可能不会在离开后立即返回到安全模式。在我的情况下,我可以通过锁链清理东西 hdfs dfsadmin -safemode leave 以及 hdfs dfs -rm 命令在一起,例如。

sudo su hdfs
hdfs dfsadmin -safemode leave; hdfs dfs -rm -skipTrash /path/to/stuff/to/delete

相关问题