我们知道,当我们运行 rmr 命令时,会创建编辑日志。数据节点是否会在清除数据之前等待 FSImage 的更新,还是同时发生?日志节点确认交易是否有任何先决条件?只是想了解 HDFS 编辑是如何工作的,其中磁盘大小可能会发生巨大变化。“hdfs dfs -du -s -h/folder”和“hdfs dfsadmin -report”需要多长时间才能反射(reflect)大小的减少?我们尝试删除2TB数据,1小时后,数据节点本地文件夹(/data/yarn/datanode)仍然没有减少2TB。
最佳答案
从 HDFS 中删除数据后,hadoop 将该数据保留在垃圾文件夹中,您需要运行以下命令来释放磁盘空间
Hadoop fs -expunge
然后HDFS会释放该空间。
或者您可以在删除数据时运行以下命令以跳过垃圾箱
Hadoop fs -rmr -skipTrash /folder
它不会将数据移入垃圾箱。
注意:文件会在/trash 中保留一段可配置的时间。在/trash 中的生命期满后,NameNode 会从 HDFS 命名空间中删除该文件。
关于hdfs - 如果对文件夹执行 hdfs dfs -rmr 操作,何时从数据节点删除数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26251421/