回收站配置两个参数说明
默认值fs.trash.interval=0,0表示禁用回收站,此值大于0时表示启用回收站,以分钟为单位的垃圾回收时间。用于设置被删掉的数据在回收站的保存时间,数据在回收站的时间超过这个设置的时间,回收站将其永久删除。
默认值fs.trash.checkpoint.interval=0,如果是0,值等同于fs.trash.interval。以分钟为单位的垃圾回收检查间隔。要求fs.trash.checkpoint.interval<=fs.trash.interval
启用回收站(配置文件)
-
修改所有服务器的core-site.xml配置文件
<!-- 开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 --> <property> <name>fs.trash.interval</name> <value>10080</value> </property>
回收站在集群的目录
/user/root/.Trash/
恢复回收站数据
hdfs dfs -mv trashFileDir hdfsdir
trashFileDir :回收站的文件路径
hdfsdir :将文件移动到hdfs的哪个路径下
清空回收站
hdfs dfs -expunge
注:
通过javaAPI删除的数据,不会进入回收站,需要调用moveToTrash()才会进入回收站
Trash trash = New Trash(conf);
trash.moveToTrash(path);
通过shell命令行删除的数据,会进入回收站。