hdfs开启回收站(废纸篓)

1、背景

我们知道,在mac系统上删除文件,一般情况下是可以进入 废纸篓里的,如果此时我们误删除了,还可以从 废纸篓中恢复过来。那么在hdfs中是否存在类似mac上的废纸篓这个功能呢?答案是存在的。

hdfs开启回收站(废纸篓)
废纸篓

2、开启hdfs trash功能

  • 当我们启用 Trash 功能后,从HDFS中删除某些内容时, 文件或目录不会立即被清除,而是会被移动到回收站目录中(/user/${username}/.Trash/current)。

小知识点:Trash 中还存在一个检查点,目录路径大概为/user/${username}/.Trash/current/{检查点创建的时间戳}检查点用于存储该检查点创建之前删除的所有文件或目录。

2.1 core-site 配置

修改 core-site.xml文件

<!-- 文件垃圾桶保存时间,单位秒 -->
<property>
    <name>fs.trash.interval</name>
    <value>1440</value>
</property>
<!-- 前后2次检查点创建的时间间隔,单位分钟,该值需要<=fs.trash.interval的值,新的检查点被创建后,旧的检查点就会被系统删除  -->
<property>
    <name>fs.trash.checkpoint.interval</name>
    <value>1440</value>
</property>

每个节点的 core-site.xml文件都需要修改。

2.2 启动hdfs

[hadoopdeploy@hadoop01 sbin]$ start-dfs.sh
Starting namenodes on [hadoop01]
Starting datanodes
Starting secondary namenodes [hadoop03]
[hadoopdeploy@hadoop01 sbin]$

2.3 删除操作-进入.Trash目录

[hadoopdeploy@hadoop01 sbin]$ hadoop fs -ls /
[hadoopdeploy@hadoop01 sbin]$ hadoop fs -put start-dfs.sh /start-dfs.sh
[hadoopdeploy@hadoop01 sbin]$ hadoop fs -ls /
Found 1 items
-rw-r--r--   2 hadoopdeploy supergroup       5170 2023-05-22 22:36 /start-dfs.sh
[hadoopdeploy@hadoop01 sbin]$ hadoop fs -rm /start-dfs.sh
2023-05-22 22:36:42,612 INFO fs.TrashPolicyDefault: Moved: 'hdfs://hadoop01:8020/start-dfs.sh' to trash at: hdfs://hadoop01:8020/user/hadoopdeploy/.Trash/Current/start-dfs.sh
[hadoopdeploy@hadoop01 sbin]$ hadoop fs -ls /
Found 1 items
drwx------   - hadoopdeploy supergroup          0 2023-05-22 22:36 /user
[hadoopdeploy@hadoop01 sbin]$
hdfs开启回收站(废纸篓)
删除操作-进入.Trash目录

2.4 直接删除-不进入.Trash目录

[hadoopdeploy@hadoop01 sbin]$ hadoop fs -ls /
Found 1 items
drwx------   - hadoopdeploy supergroup          0 2023-05-22 22:36 /user
[hadoopdeploy@hadoop01 sbin]$ hadoop fs -put start-dfs.sh /start-dfs.sh
[hadoopdeploy@hadoop01 sbin]$ hadoop fs -ls /
Found 2 items
-rw-r--r--   2 hadoopdeploy supergroup       5170 2023-05-22 22:41 /start-dfs.sh
drwx------   - hadoopdeploy supergroup          0 2023-05-22 22:36 /user
[hadoopdeploy@hadoop01 sbin]$ hadoop fs -rm -skipTrash /start-dfs.sh
Deleted /start-dfs.sh
[hadoopdeploy@hadoop01 sbin]$ hadoop fs -ls /
Found 1 items
drwx------   - hadoopdeploy supergroup          0 2023-05-22 22:36 /user
[hadoopdeploy@hadoop01 sbin]$
hdfs开启回收站(废纸篓)
直接删除-不进入.Trash目录


原文始发于微信公众号(huan1993的编程coding):hdfs开启回收站(废纸篓)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/207300.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!