从hdfs中删除文件是否还会从复制的datanode中删除文件?

时间:2018-10-08 09:40:51

标签: hadoop hdfs

为了释放内存空间,我打算从hdfs中删除一些文件。我有一个3节点群集。

如果我从hdfs中删除文件,它也会自动从复制的datanode中删除文件吗?

1 个答案:

答案 0 :(得分:0)

是的,它也从复制的数据节点中删除,但是需要一些时间。要立即删除文件而没有垃圾,请使用-skiptrash标志。 这个link也很有用:

  

当用户或用户删除文件时   应用程序,它不会立即从HDFS中删除。相反,HDFS   首先将其重命名为/ trash目录中的文件。该文件可以是   只要它保留在/ trash中,它就会迅速恢复。文件保留在   /垃圾桶可配置的时间。到期后   在/ trash中,NameNode从HDFS命名空间中删除文件。的   删除文件会导致与文件关联的块成为   释放。请注意,两者之间可能会有明显的时间延迟。   用户删除文件的时间以及相应的时间   HDFS中的可用空间增加。

     

删除文件后,用户只要将文件保留在其中即可取消删除文件   / trash目录。如果用户要取消删除文件,他/她   已删除,他/她可以浏览/ trash目录并检索   文件。 / trash目录仅包含文件的最新副本   被删除。 / trash目录与其他任何目录一样   具有一项特殊功能的目录:HDFS将指定的策略应用于   自动从该目录删除文件。当前默认值   我们的政策是从/ trash中删除超过6小时的文件。   将来,可以通过定义明确的策略来配置此策略   界面。