回收站的概念
我们windows系统里面有一个回收站,当想恢复删除的文件的话就可以到这里面进行恢复,HDFS也有回收站。
HDFS会为每一个用户创建一个回收站目录:/user/用户名/.Trash/,每一个被用户在Shell命令行删除的文件或者目录,会进入到对应的回收站目录中,在回收站中的数据都有一个生存周期,也就是当回收站中的文件或者目录在一段时间之内没有被用户恢复的话,HDFS就会自动的把这个文件或者目录彻底删除,自动删除之后用户就永远也找不回这个文件或者目录了。
注意:默认情况下hdfs的回收站是没有开启的,需要通过一个配置来开启,在core-site.xml中value的单位是分钟,1440分钟表示是一天的生存周期
删除一个文件,并停止服务
# 查看当前根目录下存在的文件
hdfs dfs -ls hdfs://bigdata01:9000/
# 删除文件 test.log
hdfs dfs -rm hdfs://bigdata01:9000/test.log
# 停止服务
stop-all.sh

修改配置开启回收站
# 打开配置文件 core-site.xml
vi /usr/local/hadoop-3.2.0/etc/hadoop/core-site.xml
# 添加如下属性配置,1440代表回收站保存一天数据
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
# 启动服务
start-all.sh
# 使用 jps 查看进程
jps

再次删除一个文件,观察与未开启回收站时的提示信息
# 查看根目录下存在的文件
hdfs dfs -ls hdfs://bigdata01:9000/
# 删除文件 LICENSE.txt
hdfs dfs -rm hdfs://bigdata01:9000/LICENSE.txt

当删除文件过大,超过了回收站的大小删除失败,添加如下参数
# 删除文件 LICENSE.txt
# -skipTrash :代表永久删除,无法找回
hdfs dfs -rm -skipTrash hdfs://bigdata01:9000/README.txt

本文介绍了Hadoop HDFS的回收站功能,包括回收站的概念、如何开启回收站以及删除文件的处理。默认情况下,HDFS回收站未开启,需要通过修改core-site.xml配置文件来启用,并设置文件的生存周期。当删除文件过大或超过回收站大小时,删除操作将失败,可通过调整参数解决。
1366

被折叠的 条评论
为什么被折叠?



