- 1 回收站配置
- 2 启回收站功能参数说明
- 3 删除内容查看
- 4 回收站内容恢复
- 5 删除数据不经过回收站
- 6 回收站清空
- 7 客户端 *** 作
1 回收站配置
在core-site.xml文件中添加如下内容,数字单位为分钟
fs.trash.interval 1 fs.trash.checkpoint.interval 1
#文件分发 xsync core-site.xml2 启回收站功能参数说明
- 默认值fs.trash.interval=0,0表示禁用回收站;其他值表示设置文件的存活时间
- 默认值fs.trash.checkpoint.interval=0,检查回收站的间隔时间,当回收站中的文件等超过存活时间就进行真正删除。如果该值为0,则该值设置和fs.trash.interval的参数值相等。
- 要求fs.trash.checkpoint.interval <= fs.trash.interval
通过hadoop命令:hadoop fs rm -r -f删除一个文件后,可以看到如下信息
如上提示了删除的内容已经转移到/user/cxj/.Trash/Current下表示配置回收站成功,,完整就是/user/删除文件时的用户名/.Trash/Current
回收站其实就是一个目录,所以只需要使用 hadoop命令进行拷贝或者移动就可以进行恢复了:Hadoop学习7:命令行 *** 作
5 删除数据不经过回收站配置了回收站以后,删除数据 *** 作,相应的数据文件会放到回收站中,通过-skipTrash去跳过回收站
hadoop fs -rm -r -f -skipTrash /input6 回收站清空
hadoop fs -expunge7 客户端 *** 作
Java删除HDFS文件的API:delete,是跳过回收站进行删除,也就是直接删除就没了
uri = URI.create("hdfs://192.168.153.131:8020"); conf = new Configuration(); user = "cxj"; fs = FileSystem.get(uri, conf, user); fs.delete(new Path("/input"), true);
如果想将文件添加到回收站中,那么需要使用到Trash对象。使用如下代码
Trash ts = new Trash(fs, conf); String s = conf.get("fs.trash.interval"); ts.moveToTrash(new Path("/a.txt"));
并在resources文件添加core-site.xml文件并添加如下配置
fs.trash.interval 1 fs.trash.checkpoint.interval 1
或者直接使用Confguration对象进行配置
conf.set("fs.trash.interval", 1) conf.set("fs.trash.checkpoint.interval", 1)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)