默认回收站
默认值fs.trash.interval=0
,0表示禁用回收站,可以设置删除文件的存活时间
默认值fs.trash.checkpoint.interval=0
,检查回收站的间隔时间.如果该值为0,则该值设置和fs.trash.interval
的参数值相等
要求fs.trash.checkpoint.interval<=fs.trash.interval
启用回收站
修改core-site.xml,配置垃圾回收时间为1分钟
<property>
<name>fs.trash.interval</name>
<value>1</value>
</property>
查看回收站
回收站在集群中,路径
user/x/.Trash/
修改
修改访问垃圾回收站用户名称
进入垃圾回收站用户名称,默认是dr.who修改为x用户
core-site.xml
<property>
<name>hadoop.http.staticuser.user</name>
<value>x</value>
</property>
注意
通过程序删除的文件不会经过回收站,需要调用moveToTrash()才进入回收站
Trash trash = new Trash(conf);
trash.moveToTrash(path);
恢复
恢复回收站的数据
hadoop fs -mv /user/x/.Trash/Current/user/x/input /user/x/input
清空回收站
并没有立即删除
hadoop fs -expunge