HDFS 恢复某时刻删除的文件

Hadoop有一个“垃圾回收站”的功能,用于恢复在过去一段时间内被删除文件。若某个文件被删除了多次,你还可以恢复具体哪一次删除的文件。该功能默认是关闭状态,若想开启,需要在$HADOOP_HOME/etc/hadoop/core-site.xml文件中,添加以下配置:

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

上面的配置意思为:Hadoop会设立一个回收站,回收站每隔10分钟清空一次。

若在一个回收周期内多次删除同一个文件或目录,则Trash内会分版本保存你每次删除的文件。这就意味你可以恢复在某个时刻所删除的文件。

举个例子:

时间点动作Trash内容
12:40回收站清空empty
12:41删除fruit.datafruit.data
12:42重新上传fruit.data且再次删除fruit.datafruit.data,fruit.data1446352935186
12:45重新上传fruit.data且再次删除fruit.datafruit.data,fruit.data1446352935186,fruit.data1446353100390
12:50回收站清空empty

根据上表,在12:41第二次删除friut.data,回收站中出现了fruit.data1446352935186后面的那串数字就是你删除时刻的时间戳。那么我们就可在垃圾回收站清空之前,恢复12:41或12:45删除的文件。


结合hive的使用,一般会有很多定时任务向hive中插入更新数据,那么.Trash中针对某个table就会有很多个版本的存在,若想查看某个时刻的数据,只要在Trash中把该时间的数据恢复即可,针对误删特别有用。


转载于:https://my.oschina.net/ericquan8/blog/524504

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值