hdfs回收站类似于我们常用的windows中的回收站,被删除的文件会被暂时存储于此,和回收站相关的参数有两个:
fs.trash.interval:默认值为0 代表禁用回收站,其他值为回收站保存文件时间,单位为分钟
fs.trash.checkpoint.interval:回收站数据判断是否需要清理的检查周期,单位为分钟,默认为 0 时等于fs.trash.interval的值,要求值不大于fs.trash.interval
ambari中hdfs上的配置的fs.trash.interval在“Advanced core-site”一栏中
而fs.trash.checkpoint.interval在已有的配置项中没有找到,只能通过add property添加
通过以上参数配置即完成了hdfs 回收站的开启。
现在通过HDFS Web试用一下,此时可能出现权限问题,可以参照此篇博客配置HDFS Web UI登录静态用户_hdfs ui_@TangXin的博客-CSDN博客解决,配置hadoop.http.staticuser.user参数配置web ui 登录时的静态用户为hdfs:
上传一个文件:
点击删除后,在/user目录下查找被删除的head.jpg文件,但是并没有找到
难道通过web ui删除的文件不会进回收站?切换使用命令行上传并删除文件,
果然命令行删除的文件成功进入回收站,看来web ui界面删除的文件是直接删除了。
使用mv命令回复数据
hdfs dfs -mv trashFileDir hdfsdir
trashFileDir :回收站的文件路径
hdfsdir :将文件移动到先前被删除的hdfs路径下;
手动清空回收站命令
hdfs dfs -expunge
希望直接把文件删除,不需要再经过Trash回收站了
可以在执行删除操作的时候添加一个参数:-skipTrash