HDFS的”时间机器“--Trash回收站

一、场景

很多用过HDFS的人都会有过这种经历,在HDFS上操作一组数据,不小心执行了一个命令“hdfs dfs -rm -r /xxx/xxx”,没有删除提示,整个目录下几个G、T的数据,一下子就没有了。删除之后才会发现这个目录下的数据有多重要,这个时候先不要准备删库跑路。rm -rf /不好解决,但是在HDFS中有个功能可以轻松解决这个问题,那就是Trash回收站功能。

二、开启回收站

2.1 原生Hadoop配置

修改Hadoop每个节点的core-site.xml文件,增加一个属性。
fs.trash.interval是在指在这个回收周期之内,文件实际上是被移动到trash的这个目录下面,而不是马上把数据删除掉。等到回收周期真正到了以后,hdfs才会将数据真正删除。默认的单位是分钟。 设置0则关闭该功能。

  <property>
    <name>fs.trash.interval</name>
    <value>1440</value>
  </property>

CDH配置
进入HDFS配置。搜索fs.trash.interval参数
在这里插入图片描述

三、测试

上传个test.txt文件到/user/admin/目录下

hdfs dfs -put test.txt /user/admin/

删除该文件

[root@master ~]# hdfs dfs -rm -r /user/admin/test.txt
20/03/17 17:15:41 INFO fs.TrashPolicyDefault: Moved: 'hdfs://master.cdh:8020/user/admin/test.txt' to trash at: hdfs://master.cdh:8020/user/root/.Trash/Current/user/admin/test.txt

提示该文件已经移到/user/root/.Trash/Current/user/admin/test.txt,当前登陆用户家目录下的.Trash目录。
查看该目录,被删除的文件已经在里面了

[root@master ~]# hdfs dfs -ls /user/root/.Trash/Current/user/admin/
Found 1 items
-rw-r--r--   3 root admin          4 2020-03-17 17:13 /user/root/.Trash/Current/user/admin/test.txt

恢复文件,就是将回收站的文件移回之前所在的目录

[root@master ~]# hdfs dfs -mv  /user/root/.Trash/Current/user/admin/test.txt /user/admin

清空回收站命令

[root@master ~]# hdfs dfs -expunge
20/03/17 17:25:02 INFO fs.TrashPolicyDefault: TrashPolicyDefault#deleteCheckpoint for trashRoot: hdfs://master.cdh:8020/user/root/.Trash
20/03/17 17:25:02 INFO fs.TrashPolicyDefault: TrashPolicyDefault#deleteCheckpoint for trashRoot: hdfs://master.cdh:8020/user/root/.Trash
20/03/17 17:25:02 INFO fs.TrashPolicyDefault: Deleted trash checkpoint: /user/root/.Trash/200317160000
20/03/17 17:25:02 INFO fs.TrashPolicyDefault: TrashPolicyDefault#createCheckpoint for trashRoot: hdfs://master.cdh:8020/user/root/.Trash
20/03/17 17:25:02 INFO fs.TrashPolicyDefault: Created trash checkpoint: /user/root/.Trash/200317172502

跳过回收站,直接删除命令

[root@master ~]# hdfs dfs -rm -r -skipTrash /user/root/123123
Deleted /user/root/123123
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值