Hadoop回收站trash,默认是关闭的。
1.修改conf/core-site.xml,增加
- <property>
- <name>fs.trash.interval</name>
- <value>1440</value>
- <description>Numberofminutesbetweentrashcheckpoints.
- Ifzero,thetrashfeatureisdisabled.
- </description>
- </property>
默认是0.单位分钟。这里我设置的是1天(60*24)
删除数据rm后,会将数据move到当前文件夹下的.Trash目录
2.测试
1)新建目录input
- hadoop/bin/hadoopfs-mkdirinput
2)上传文件
- root@master:/data/soft#hadoop/bin/hadoopfs-copyFromLocal/data/soft/file0*input
3)删除目录input
- [root@masterdata]#hadoopfs-rmrinput
- Movedtotrash:hdfs://master:9000/user/root/input
4)参看当前目录
- [root@masterdata]#hadoopfs-ls
- Found2items
- drwxr-xr-x-rootsupergroup02011-02-1222:17/user/root/.Trash
发现input删除,多了一个目录.Trash
5)恢复刚刚删除的目录
- [root@masterdata]#hadoopfs-mv/user/root/.Trash/Current/user/root/input/user/root/input
6)检查恢复的数据
- [root@masterdata]#hadoopfs-lsinput
- Found2items
- -rw-r--r--3rootsupergroup222011-02-1217:40/user/root/input/file01
- -rw-r--r--3rootsupergroup282011-02-1217:40/user/root/input/file02
6)删除.Trash目录(清理垃圾)
- [root@masterdata]#hadoopfs-rmr.Trash
- Deletedhdfs://master:9000/user/root/.Trash