一、现象 hdfs删除后,3天了还不删除,故排查排查问题 二、排查过程及原理 Trash机制,叫做回收站或者垃圾桶,默认情况下是不开启的。启用 Trash 功能后,从 HDFS 中删除某些内容时,文件或目录不会立即被清除,它们将被移动到回收站Current目录中(/user/{username}/.Trash/current)。 Trash Checkpoint检查点仅仅是用户回收站下的一个目录,用于 存储在创建检查点之前删除的所有文件或目录。如果你想查看回收站目录,可以在 /user/{username}/.Trash/{timestamp_of_checkpoint_creation}处看到: 最近删除的文件被移动到回收站 Current 目录,并且在fs.trash.interva时间间隔内,HDFS 会为在 Current 回收站目录下的文件创建检查点 /user/{username}/.Trash/<日期>,并在过期时删除旧的检查点。 在core-site.xml配置文件中存在相关配置

fs.trash.interval

4320

#fs.trash.interval:分钟数,当超过这个分钟数后检查点会被删除。如果为零,Trash 回收站功能将被禁用。

fs.trash.checkpoint.interval

0

#fs.trash.checkpoint.interval:检查点创建的时间间隔(单位为分钟)。其值应该小于或等于fs.trash.interval。如果为零,则将该值设置为fs.trash.interval的值。每次运行检查点时,它都会从当前版本中创建一个新的检查点,并删除在数分钟之前创建的检查点。

在2023-06-19删除完的文件后,将删除的文件移动到/user/hadoop/.Trash/current文件夹下,3天后2023-06-22检查点生成机制运行,将回收站中的数据移动到/user/hadoop/.Trash/20230622080017,此时也会删除当前时间三天前过期的检查点数据,在2023-06-25检查点生成后,没有把/user/hadoop/.Trash/20230622080017的原因,因为回收站数据量比较大,时间戳时间稍晚20230622080017无法被正常删除。

好文推荐

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: