Hadoop回收站trash

回收站简介

在HDFS里,删除文件时,不会真正的删除,其实是放入回收站/trash 回收站里的文件可以快速恢复。 可以设置一个时间阈值,当回收站里文件的存放时间超过这个阈值或是回收站被清空时,文件才会被彻底删除,并且释放占用的数据块。

一,开启Hadoop回收站功能

Hadoop回收站trash,默认是关闭的。 打开方式:修改配置文件conf/core-site.xml,增加下面的内容:
 
fs.trash.interval 
1440 
Number of minutes between trash checkpoints. 
If zero, the trash feature is disabled. (这里可以随便写点什么,也可以没有这个标签)
 

默认是0.单位分钟。这里设置的是1天(60*24=1440)
当然也可以在8180端口管理界面中进入HDFS的图形化界面设置这个值:
Hadoop回收站trash_第1张图片

二,测试案例

1,新建目录test

hadoop fs -mkdir -p /tmp/test

2,上传文件

hadoop fs -put /root/test.tar /tmp/test

查看上传是否成功:

hadoop fs -ls /tmp/test

结果如下:
查询HDFS文件结果

3,删除test文件夹
删除结果

注意图片中红线部分的提示,说明删除的文件夹被放啊在目录:/user/root/.Trash/Current(这个目录应该跟具体的登陆用户有关,我用的是root登陆,所以是这个路径,使用其他用户登陆的话应该会有变化,以后有机会可以验证一下)

4,查看Trash文件夹
在这里插入图片描述

发现/user/root/.Trash/Current目录下现在有一个名为tmp的文件夹,再下一级才是test文件夹,也就是说存放在回收站的是被删除文件的绝对路径。

5,回复被删除的文件夹
Hadoop回收站trash_第2张图片

直接将Trash中的文件mv回原来的位置即可,不过要用绝对路径


参考文献:
https://blog.csdn.net/lskyne/article/details/8924152
http://www.cnblogs.com/ggjucheng/archive/2012/04/18/2454683.html

你可能感兴趣的:(Hadoop遇见问题,Hadoop与大数据)