admin管理员组

文章数量:1587911

HDFS回收站

任何一个文件系统,基本上都会有垃圾桶机制(回收站),也就是删除的文件,不会直接彻底清掉,会先丢弃到回收站中。

过一段时间之后,自动清空垃圾桶当中的文件,这样对于文件的安全删除比较有保证,避免我们一些误操作,导致误删除文件或者数据

回收站配置两个参数

默认值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/
这个路径下

删除数据是否进入回收站

通过javaAPI删除的数据,不会进入回收站,需要调用moveToTrash()才会进入回收站
通过shell命令行删除的数据,会进入回收站。

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

恢复回收站数据

hdfs  dfs  -mv  trashFileDir   hdfsdir

trashFileDir :回收站的文件路径
hdfsdir :将文件移动到hdfs的哪个路径下

清空回收站

hdfs dfs -expunge

本文标签: 回收站HadoopHDFS