HDFS数据保护之回收站功能
  TEZNKK3IfmPf 2023年11月14日 37 0

  引言:当从HDFS删除文件时,将释放与该文件相关联的块。而配置HDFS的回收站功能后,其会将删除的文件和目录存储在特定回收站目录中一定的时间后释放块,然后再将其永久删除,即可防止意外数据删除。如果配置了回收站功能且回收间隔大于0,那么删除的文件或者目录会在用户主目录下的.Trash目录保存。

  

回到顶部 一、进入主题,配置回收站功能:   配置core-site.xml文件中的 fs.trash.interval参数,其是以分钟为单位:

<property> <name>fs.trash.interval</name> <value>1440</value> </property>   在默认情况下,回收站回收间隔是0,因此文件会被立即永久删除。fs.trash.interval=1440则表示回收站会保留一天。

  接下来还需要配置fs.trash.checkpoint.interval参数,这个参数指定NameNode检查回收站目录的频率:

<property> <name>fs.trash.checkpoint.interval</name> <value>60</value> </property>   以上的fs.trash.checkpoint.interval=60表示NameNode每小时检查一次trash目录,并删除保留时间超过1440分钟的文件。

回到顶部 二、注意问题 1、HDFS客户端节点需要配置才能使用回收站功能   所有能访问HDFS的客户端节点需要配置回收站的参数才能启动回收站的功能,否则当客户端删除文件时,可能会看到文件被立即删除!

  如果以编程的方式删除HDFS文件,则它会立即被永久删除!可以通过如下方式:

  1)创建一个trash实例;

  2)使用要删除的文件的路径调用moveToTrash()。如果没有启动回收站,则该方法返回False。

2、绕过回收站   有时需要绕过回收站功能直接删除一些数据,可以在删除文件时指定-skipTrash选项,如下:

hdfs dfs -rm -r -skipTrash /your/files/

  删除存储在trash目录中的每个文件,包括trash目录本身:

hdfs dfs -rm -r -skipTrash /user/username/.Trash

3、清空回收站   expunge命令回收trash目录中的文件所占用的HDFS空间:

hdfs dfs -expunge

4.删数据饶过回收站的执行 hdfs dfs -rm -r -skipTrash /user/hive/warehouse/test.db/test_sony_boot_play/20210731

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2023年11月14日   24   0   0 hdfsjava
  TEZNKK3IfmPf   2023年11月12日   20   0   0 apachehdfshadoop
  TEZNKK3IfmPf   2023年11月12日   20   0   0 hdfshadoop
  TEZNKK3IfmPf   2023年11月14日   27   0   0 hdfscdh
  TEZNKK3IfmPf   2023年11月13日   32   0   0 hdfssparkHive
  TEZNKK3IfmPf   2023年11月13日   27   0   0 hdfsHive
  TEZNKK3IfmPf   2023年11月14日   38   0   0 hdfs
  TEZNKK3IfmPf   2023年11月12日   22   0   0 hdfs存储
TEZNKK3IfmPf