为了释放内存空间,我打算从hdfs中删除一些文件。我有一个3节点群集。
如果我从hdfs中删除文件,它也会自动从复制的datanode中删除文件吗?
答案 0 :(得分:0)
是的,它也从复制的数据节点中删除,但是需要一些时间。要立即删除文件而没有垃圾,请使用-skiptrash标志。 这个link也很有用:
当用户或用户删除文件时 应用程序,它不会立即从HDFS中删除。相反,HDFS 首先将其重命名为/ trash目录中的文件。该文件可以是 只要它保留在/ trash中,它就会迅速恢复。文件保留在 /垃圾桶可配置的时间。到期后 在/ trash中,NameNode从HDFS命名空间中删除文件。的 删除文件会导致与文件关联的块成为 释放。请注意,两者之间可能会有明显的时间延迟。 用户删除文件的时间以及相应的时间 HDFS中的可用空间增加。
删除文件后,用户只要将文件保留在其中即可取消删除文件 / trash目录。如果用户要取消删除文件,他/她 已删除,他/她可以浏览/ trash目录并检索 文件。 / trash目录仅包含文件的最新副本 被删除。 / trash目录与其他任何目录一样 具有一项特殊功能的目录:HDFS将指定的策略应用于 自动从该目录删除文件。当前默认值 我们的政策是从/ trash中删除超过6小时的文件。 将来,可以通过定义明确的策略来配置此策略 界面。