首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Hadoop回收站详解

Hadoop回收站详解

作者头像
用户4128047
发布2025-12-23 15:31:40
发布2025-12-23 15:31:40
1750
举报

linux系统没有回收站概念,rm -rf很容易造成极大的损失。而在Hadoop或者说HDFS里面,有trash(回收站)的概念,可以使得数据被误删以后,还可以找回来。 Hadoop里的trash选项默认是关闭的,所以如果要生效,需要提前将trash选项打开,修改conf里的core-site.xml即可。 启用trash的相关配置

代码语言:javascript
复制
# 增加fs.trash参数配置 开启trash(进程不需重启)
vi core-site.xml
    <property>
        <name>fs.trash.interval</name>
        <value>4320</value>
    </property>
    <property>
        <name>fs.trash.checkpoint.interval</name>
        <value>1440</value>
    </property>
# fs.trash.interval是回收周期,文件实际上是被移动到trash的这个目录下面,而不是马上被删除掉。等到回收周期到了,hdfs才会将数据真正删除。默认的单位是分钟,4320分钟=60*24*3,刚好是一天;fs.trash.checkpoint.interval是指垃圾站检查间隔,应该是小于或者等于fs.trash.interval。
[hadoop@hadoop ~]$ hdfs dfs -put test.log /
[hadoop@hadoop ~]$ hdfs dfs -ls /                           
Found 3 items
-rw-r--r--   1 hadoop supergroup         34  /test.log
# 删除test.log 注意提示的不同
[hadoop@hadoop ~]$ hdfs dfs -rm -r /test.log                
18/05/23 16:54:55 INFO fs.TrashPolicyDefault: Moved: 'hdfs://ip:9000/test.log' to trash at: hdfs://ip:9000/user/hadoop/.Trash/Current/test.log
# 发现删除的文件在回收站里
[hadoop@hadoop ~]$ hdfs dfs -ls /user/hadoop/.Trash/Current
Found 1 items
-rw-r--r--   1 hadoop supergroup         34  /user/hadoop/.Trash/Current/test.log
# 恢复误删除的文件
[hadoop@hadoop ~]$ hdfs dfs -mv /user/hadoop/.Trash/Current/test.log /test.log
[hadoop@hadoop ~]$ hdfs dfs -ls /
Found 3 items
-rw-r--r--   1 hadoop supergroup         34 2018-05-23 16:54 /test.log
代码语言:javascript
复制
# 参考官方文档:http://hadoop.apache.org/docs/r2.8.4/hadoop-project-dist/hadoop-common/core-default.xml 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-12-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档