HDFS文件误删除之恢复

启动HDFS的垃圾回收站为了防止误删,一般默认是关闭的,需要我们自己配置文件打开。

修改core-site.xml

    <property>
               <name>fs.trash.interval</name>
               <value>1440</value>
               <!--在回收站停留的时间,单位是分钟-->
    </property>
    <property>
               <name>fs.trash.checkpoint.interval</name>
               <value>1440</value>
               <!--检查回收站的时间间隔,小于等于上面的值,此时间值不要太短,可以1天左右。若设置1分钟,则去回收站找该文件比较麻烦;
               该机制会将文件以一个时间戳的方式留存。-->
    </property>

一般垃圾回收站的路径是HDFS上的 /user/用户名/.Trash/
hadoop fs -ls /user/hadoop/.Trash/Current/ 被删除的文件会保存在Current这个目录下,也会以时间戳为目录名

演示例子:
上传文件hadoop fs -put my.cnf /
删除文件hadoop fs -rm -r /my.cnf
提示:

18/07/21 11:39:17 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 1440 minutes, Emptier interval = 1 minutes.
18/07/21 11:39:17 INFO fs.TrashPolicyDefault: Moved: 'hdfs://bd1803/my.cnf' to trash at: hdfs://bd1803/user/cry/.Trash/Current/my.cnf
Moved: 'hdfs://bd1803/my.cnf' to trash at: hdfs://bd1803/user/cry/.Trash/Current

查找该被删除的文件:
hadoop fs -ls /user/cry/.Trash/Current
提示:

Found 1 items
-rw-r--r--   2 cry supergroup       1208 2018-07-21 11:38 /user/cry/.Trash/Current/my.cnf

恢复该文件:

hadoop fs -mv /user/cry/.Trash/Current/my.cnf /tmp/

如果我们不想跳过垃圾回收站,直接删除某个文件,那么直接使用 hadoop fs -rm -r -skipTrash /文件路径

我们想恢复被误删的文件只需要 hadoop fs -mv /user/hadoop/.Trash/Current/123.log /指定文件路径 (假如被误删的文件为123.log)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值