Hadoop增加trash回收站功能

功能介绍

空间的回收-文件的删除和恢复
    用户或者应用删除某个文件,这个文件并没有立刻从HDFS中删除。相反,HDFS将这个文件重命名,并转移到/user/hadoop/.Trash/Current目录。当文件还在/user/hadoop/.Trash/Current目 录时,该文件可以被迅速地恢复。文件在/user/hadoop/.Trash/Current中保存的时间是可配置的,当超过这个时间,Namenode就会将该文件从namespace中删除。 文件的删除,也将释放关联该文件的数据块。注意到,在文件被用户删除和HDFS空闲空间的增加之间会有一个等待时间延迟。
    当被删除的文件还保留在/user/hadoop/.Trash/Current目录中的时候,如果用户想恢复这个文件,可以检索浏览/user/hadoop/.Trash/Current目录并检索该文件。/user/hadoop/.Trash/Current目录仅仅保存被删除 文件的最近一次拷贝。/user/hadoop/.Trash/Current目录与其他文件目录没有什么不同,除了一点:HDFS在该目录上应用了一个特殊的策略来自动删除文件,目前的默认策略是 删除保留超过6小时的文件,这个策略以后会定义成可配置的接口。

配置

每个节点(不仅仅是主节点)上添加配置 hadoop/conf/core-site.xml,

      

 <!-- enable dfs trash -->
        <property>
                <name>fs.trash.interval</name>
                <value>60</value>
                <description>Number of minutes between trash checkpoints.  If zero, the trash feature is disabled.
  </description>

        </property>

 

Posted by alan 2010年12月25日 19:23