Fork me on GitHub

HDFS 回收站

1.默认回收站
  默认值fs.trash.interval=0,0表示禁用回收站,可以设置删除文件的存活时间。
  默认值fs.trash.checkpoint.interval=0,检查回收站的间隔时间。
  要求fs.trash.checkpoint.interval<=fs.trash.interval。

2.启用回收站
  修改core-site.xml,配置垃圾回收时间为1分钟

1
2
3
4
<property>
<name>fs.trash.interval</name>
<value>1</value>
</property>

3)查看回收站
  回收站在集群中的;路径:/user/liucw/.Trash/….

4)修改访问垃圾回收站用户名称
  进入垃圾回收站用户名称,默认是dr.who,修改为liucw用户
  [core-site.xml]

1
2
3
4
<property>
<name>hadoop.http.staticuser.user</name>
<value>liucw</value>
</property>

5)通过程序删除的文件不会经过回收站,需要调用moveToTrash()才进入回收站

1
2
Trash trash = New Trash(conf);
trash.moveToTrash(path);

6)恢复回收站数据
[liucw@hadoop102 hadoop-2.7.2]$ hadoop fs -mv /user/liucw/.Trash/Current/user/liucw/input /user/liucw/input

7)清空回收站
[liucw@hadoop102 hadoop-2.7.2]$ hdfs dfs -expunge

-----------------本文结束,感谢您的阅读-----------------