Hadoop回收站trash说明及重要作用

回收站简介:

在HDFS里,回收站功能开启后,删除文件时,不会真正的删除,暂时是放入回收站.trash中,回收站里的文件可以快速恢复。
可以设置一个时间阈值,当回收站里文件的存放时间超过这个阈值或是回收站被清空时,文件才会被彻底删除,并且释放占用的数据块。

Hadoop回收站trash,默认是关闭的。

建议最好还是把它提前开开,否则误操作的时候,就只能发呆了。

1.修改core-site.xml,增加

<property>
<name>fs.trash.interval</name>
<value>1440</value>
<description>Number of minutes between trash checkpoints.
If zero, the trash feature is disabled.
</description>
</property>


默认是0.单位分钟。这里我设置的是1天(60*24=1440分钟)

rm删除数据后,会将数据move到当前用户文件夹下的.Trash目录中

2.测试
1)新建目录input
hdfs dfs -mkdir input

2)上传文件
hdfs dfs -put /data/soft/file* input

3)删除目录input
hdfs dfs -rmr input
Moved to trash: hdfs://master1:9000/user/root/input

4)参看当前目录
hdfs dfs -ls
drwxr-xr-x - root supergroup 0 2016-02-10 20:10 /user/root/.Trash

发现input删除,多了一个目录.Trash

5)恢复刚刚删除的目录
hdfs dfs -mv /user/root/.Trash/Current/user/root/input /user/root/input

6)检查恢复的数据
hdfs dfs -ls input
Found 2 items
-rw-r--r-- 3 root supergroup 22 2016-02-10 20:40 /user/root/input/file1
-rw-r--r-- 3 root supergroup 28 2016-02-10 20:40 /user/root/input/file2

7)删除.Trash目录(清理垃圾)
hdfs dfs -rmr /user/root/.Trash/*
Deleted hdfs://master1:9000/user/root/.Trash/*

8)清空回收站
清空回收站命令:hdfs dfs -expunge



你可能感兴趣的:(Hadoop回收站trash说明及重要作用)