HDFS的垃圾回收机制

hadoop hdfs 垃圾回收机制
何为垃圾回收
开启垃圾回收站 把删除的文件首先放置在回收站中 等待配置的时间结束 进行真正的数据删除

如何开始
vim core-site.xml

fs.trash.interval 1440 把配置文件 scp给其他节点上 scp -r /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/core-site.xml node-2:/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/

scp -r /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/core-site.xml node-3:/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/
垃圾回收机制演示效果
未开启
[root@node-1 ~]# hadoop fs -rm /test/1.txt
Deleted /test/1.txt
开启
hadoop fs -rm /test/1.txt
19/07/18 16:18:17 INFO fs.TrashPolicyDefault: Moved: ‘hdfs://node-1:8020/test/1.txt’ to trash at: hdfs://node-1:8020/user/root/.Trash/Current/test/1.txt
本质是把删除文件 首先移动一个指定的文件夹下面

恢复删除的数据
hadoop fs -mv /user/root/.Trash/Current/test/1.txt /test
跳过垃圾回收 直接删除
skipTrash 选项删除文件,该选项不会将文件发送到垃圾箱。它将从HDFS 中完全删除

配置1
fs.trash.interval=1440

被删除的文件会进入回收站,默认保留1440分钟后完全删除

配置2
fs.trash.checkpoint.interval=60

回收站checkpoint机制:进入回收站的文件首先进入Current目录,然后定期移动到一个时间戳目录,定期的间隔为60分钟

过程
1 删除命令
hdfs dfs rm /tmp/test

2 进入回收站
hdfs:// n n / u s e r / {nn}/user/ nn/user/{user_name}/.Trash/Current/tmp/test

3 定时检查
hdfs:// n n / u s e r / {nn}/user/ nn/user/{user_name}/.Trash/Current/tmp/test

移动到

hdfs:// n n / u s e r / {nn}/user/ nn/user/{user_name}/.Trash/${yyMMddHH0000}/tmp/test

4 定时检查(24小时后)
彻底删除

备注
在 步骤2 和 步骤3 之间,回收站里的数据随时可以恢复,移动会原来的位置即可

要格外注意的是,在 步骤2 时,有可能在操作过程中提示File Not Exists,这时不要惊慌,文件并没有丢失,其实是进行了 步骤3,文件移动到了另一个目录而已

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值