Hadoop设置回收站

一、回收站简介:
    在HDFS里,删除文件时,不会真正的删除,其实是放入回收站/trash,回收站里的文件可以快速恢复。
    可以设置一个时间阀值,当回收站里文件的存放时间超过这个阀值或是回收站被清空时,文件才会被彻底删除,并且释放占用的数据块。
二、实例:
    Hadoop的回收站trash功能默认是关闭的,所以需要在core-site.xml中手动开启。
1、修改core-site.xml,增加:
fs.trash.interval
1440
默认是0,单位是分钟,这里设置为1天。
删除数据rm后,会将数据move到当前文件夹下的.Trash目录。
2、测试
1)、新建目录input
hadoop fs -mkdir input
2)、上传文件
hadoop fs -copyFromLocal /data/NOTICE.txt input
3)、删除目录input
hadoop fs -rmr input
Moved: 'hdfs://ns/input' to trash at: hdfs://ns/user/centos/.Trash/Current/input
4)、查看当前目录
drwxr-xr-x   - centos centos          0 2017-01-16 02:27 /hbase
drwxr-xr-x   - centos centos          0 2017-01-11 07:20 /output1
drwxr-xr-x   - centos centos          0 2017-01-11 18:35 /output2
drwx------   - centos centos          0 2017-01-11 07:15 /tmp
drwxr-xr-x   - centos centos          0 2017-01-16 17:10 /user
发现input删除了,多了一个目录.Trash
5)、恢复刚刚删除的目录
hadoop fs -mv hdfs://ns/user/centos/.Trash/Current/input /
6)、查看恢复的数据
drwxr-xr-x   - centos centos          0 2017-01-16 02:27 /hbase
drwxr-xr-x   - centos centos          0 2017-01-11 07:19 /input
drwxr-xr-x   - centos centos          0 2017-01-11 07:20 /output1
drwxr-xr-x   - centos centos          0 2017-01-11 18:35 /output2
drwx------   - centos centos          0 2017-01-11 07:15 /tmp

drwxr-xr-x   - centos centos          0 2017-01-16 17:10 /user
7)、删除.Trash目录(清理垃圾)
hadoop fs -rmr .Trash
 

你可能感兴趣的:(hadoop)