1、背景

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

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]$

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开启回收站(废纸篓)的更多相关文章

  1. macOS 10.15 Catalina xxx.app已损坏,无法打开,你应该将它移到废纸篓解决方法

    原文连接:https://www.macwk.com/article/mac-catalina-1015-file-damage 更新macOS 10.15 Catalina后,很多在10.14上可以 ...

  2. Mac废纸篓 不能完全清空的有效解决方法

    摘自:http://www.neonan.com/articles/5582 对于苹果用户来说, 可能都会遇到过这样的情况(尽管这种情况是不常出现的!), Mac OS X系统突然出现一些顽固的文件家 ...

  3. mac安装软件运行提示「xxx.app已损坏,打不开.你应该将它移到废纸篓」的解决办法

    「xxx.app已损坏,打不开.你应该将它移到废纸篓」,其实并非你安装的软件已损坏,而是Mac系统的安全设置问题,往往这些软件可能是经过了汉化或者破解,所以被Mac认为「已损坏」,那么解决方法就是临时 ...

  4. Mac系统下下删除加锁文件方法|使用终端命令强制清除废纸篓中的文件

    链接地址1:http://jingyan.baidu.com/article/fdffd1f8e39403f3e98ca195.html 在Mac OS X下,无法删除的文件无外乎三种情况:1,文件( ...

  5. Mac删除废纸篓中的单一文件和文件夹

    http://www.macappbox.com/tips/159/ 通过Automator创建教程: 1.打开Automator并选择新建 2.选择服务类型 3.搜索Run Shell Script ...

  6. mac 删除文件不经过废纸篓解决办法

    mac 删除文件不经过废纸篓,提示“此项目将被立刻删除,您不能撤销此操作.”,解决办法. 终端机运行两个命令: rm -R ~/.Trash killall Finder 退出终端机. ------- ...

  7. 【原创】大叔经验分享(41)hdfs开启kerberos之后报错Encryption type AES256 CTS mode with HMAC SHA1-96 is not supported/enabled

    hdfs开启kerberos之后,namenode报错,连不上journalnode 2019-03-15 18:54:46,504 WARN org.apache.hadoop.security.U ...

  8. app已损坏,打不开。你应该将它移到废纸篓。

    app已损坏,打不开.你应该将它移到废纸篓.(macOS Sierra 10.12) ,打开终端,执行 sudo spctl --master-disable 即可.

  9. Mac提示App已损坏 你应该将它移到废纸篓的解决方案

    现象 "Elmedia Player.app"已损坏,打不开. 您应该将它移到废纸篓. 原因 很多朋友们在安装软件时Mac OS系统出现提示"XXXApp 已损坏&quo ...

  10. HDFS的回收站 && 安全模式

    回收站机制 1). HDFS 的回收站机制由 core-site.xml 中 fs.trash.interval 属性(以分钟为单位)设置,默认是 0,表示未启用.注意:配置数值应该为1440,而配置 ...

随机推荐

  1. Innodb学习之MySQL体系结构

    目录 数据库和数据库实例 MySQL体系结构 MySQL各存储引擎特性 Innodb存储引擎 MyISAM BDB: Memory Archive Federated 数据库和数据库实例 数据库是所有 ...

  2. 编译 windows 上的 qt 静态库

    记录命令行编译过程: 针对 Qt 5.15.2 版本, 只需要 Source 文件就行 打开 x86 Native Tools Command Prompt for VS 2019,如果需要编译 x6 ...

  3. win32 - 创建子线程中的窗口

    跟创建普通的win32窗口一样,线程中的窗口也需要注册和窗口处理过程 // Test_WM_CLOSE.cpp : Defines the entry point for the applicatio ...

  4. nginx中使用perl脚本来定制一些请求转发等等

    http://t.zoukankan.com/carriezhangyan-p-9359708.html https://blog.csdn.net/weixin_28917223/article/d ...

  5. Python函数每日一讲 - 一文让你彻底掌握Python中的getattr函数

    引言 在 Python 中,getattr() 函数是一种强大的工具,它允许我们在运行时动态地访问对象的属性和方法.本文将介绍 getattr() 函数的基本语法.常见用法和高级技巧,帮助大家更好地理 ...

  6. docker 系列

    docker 系列 目录 docker 系列 一. docker 定义 1 nameSpnce 命名空间 2 cgroup 控制组 3 为什么使用容器 二. docker 安装 三 .docker 初 ...

  7. html5与css3新特性

    HTML5新特性 增加了一些新的标签.新的表单以及新的表单属性等 这些新特性都有兼容性问题,基本上IE9+以上版本浏览器才支持,如果不考虑兼容性问题,可以大量使用这些新特性 新增语义化标签 - < ...

  8. modalError.vue 错误提示框 vue2 iview

    需求 一个错误提示框,后台需要有换行,默认没有换行,做一个支持换行的全局错误提示函数. 注意 代码只展示原理,直接不能使用,里面有getAc,有需要参考 https://www.cnblogs.com ...

  9. Vue.prototype.$app = this vscode ctrl 点击 不跳转

    Vue.prototype.$app = this vscode ctrl 点击 不跳转 解决思路 src/types/vue.d.ts 里面写,具体还没解决,找到一篇 在js里面的 我这种直接将当前 ...

  10. 异步小工具 asyncTool

    class asyncTool { constructor () { this.arr = [] this.ctx = {} } use (func) { const into = { func, n ...