介绍:
Hadoop回收站trash,默认是关闭的。
和Linux系统的回收站设计一样,HDFS会为每一个用户创建一个回收站目录:/user/用户名/.Trash/,每一个被用户通过Shell删除的文件/目录,在系统回收站中都一个周期,也就是当系统回收站中的文件/目录在一段时间之后没有被用户回复的话,HDFS就会自动的把这个文件/目录彻底删除,之后,用户就永远也找不回这个文件/目录了。
开启方式:
配置:在每个节点(不仅仅是主节点)上添加配置 core-site.xml,增加如下内容
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
注解:
1、1440=24小时*60分钟,一天。一天后删除回收站里的文件。
2、重启hdfs生效,建议第一次配置时就配置好
演示:
1、新建文件夹:
[hadoop@hello110 ~]$ hdfs dfs -ls /testdata
drwxr-xr-x - hadoop supergroup 0 2016-08-14 22:40 /testdata/a123
[hadoop@hello110 ~]$ hdfs dfs -mkdir /testdata/b1112
[hadoop@hello110 ~]$ hdfs dfs -ls /testdata
drwxr-xr-x - hadoop supergroup 0 2016-08-14 22:40 /testdata/a123
drwxr-xr-x - hadoop supergroup 0 2016-08-14 23:50 /testdata/b1112
drwxr-xr-x - hadoop supergroup 0 2016-08-14 23:50 /testdata/b1112
2、删除刚建的文件夹:
[hadoop@hello110 ~]$ hdfs dfs -rm -r /testdata/b1112
Moved: 'hdfs://hello110:9000/testdata/b1112' to trash at: hdfs://hello110:9000/user/hadoop/.Trash/Current
3、查看垃圾回收站:
[hadoop@hello110 ~]$ hdfs dfs -ls -R /user/hadoop/.Trash/Current
drwx------ - hadoop supergroup 0 2016-08-14 23:52 /user/hadoop/.Trash/Current/testdata
drwxr-xr-x - hadoop supergroup 0 2016-08-14 23:50 /user/hadoop/.Trash/Current/testdata/b1112
drwxr-xr-x - hadoop supergroup 0 2016-08-14 23:50 /user/hadoop/.Trash/Current/testdata/b1112
4、恢复刚删除的文件夹:
[hadoop@hello110 ~]$ hdfs dfs -mv /user/hadoop/.Trash/Current/testdata/b1112 /testdata/b1112
5、查看恢复的文件夹:
[hadoop@hello110 ~]$ hdfs dfs -ls /testdata
drwxr-xr-x - hadoop supergroup 0 2016-08-14 22:40 /testdata/a123
drwxr-xr-x - hadoop supergroup 0 2016-08-14 23:50 /testdata/b1112
drwxr-xr-x - hadoop supergroup 0 2016-08-14 23:50 /testdata/b1112
6、清空回收站:
[hadoop@hello110 ~]$ hdfs dfs -rm -r /user/hadoop/.Trash/
Deleted /user/hadoop/.Trash
Deleted /user/hadoop/.Trash