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>