我已经尝试了这一点,实际上是为了理解这个概念,但我仍然不清楚。
例如fs.trash.interval=9min和fs.trash.checkpoint.interval=2min
现在我在10:00删除文件1,在10:03删除文件2。它说它被移动到“/user//.trash/current”,当前目录在一段时间内消失了,我可以在那里看到checkpoint文件夹,看起来像这个“/user//.trash/(date\u somenumber)”。
据我所知,文件1应在10:09永久删除,文件2应在10:11永久删除。
如果每2分钟检查一次
1号10:02
第二天10:04
3日10:06
第4天10:08
5日10:10
6日10:12
所以文件1应该在第5个检查点\u intereval删除,文件2应该在第6个检查点\u intereval删除。
我的怀疑是
1) 当前目录何时消失?在检查点检查期间还是提前?
(对我来说,它似乎在一分钟内消失)
2) 对于每个检查点间隔,仅当新文件被删除并且是rest abstract时,才会形成新文件夹?
(那么,这是否意味着每2min检查点对我们来说都是抽象的,并且不是每2min更改一次目录名)
3) 我们已经将垃圾桶间隔设置为9分钟(例如),目的是将9分钟的文件放入垃圾桶,那么为什么我们需要检查点间隔每隔2分钟(例如)检查一次,因为我们知道9分钟后文件将自动删除。
(检查点是删除文件的过程吗??因为当我们说checkpoint\u intereval=0时,默认值仍然是trash interval=9min,checkpoint每隔9min出现一次)
如果我错了,请澄清这些疑问,纠正我的理解。
1条答案
按热度按时间im9ewurl1#
/user/username/.Trash/Current/
用于保存最近删除的hdfs文件。/user/username/.Trash/CheckpointTime/
在检查点间隔期间创建,该间隔实际上是重命名的current
目录。根据检查点之间存在的时间差,可以有多个检查点trash.interval
以及checkpoint.interval
.fs.trash.interval:删除检查点的分钟数。fs.trash.checkpoint.interval:垃圾检查点之间的分钟数。
1) 在检查点间隔期间,当前目录将使用时间戳重命名为检查点目录,而不是更早。
2) 只要有
current
或在间隔内最近的删除。hadoop使用的垃圾类的片段:
3) 每2分钟检查一次的checkpointer进程也会执行删除操作。按照配置,每2分钟检查点进程将移动
current
目录添加到新的检查点目录,并删除所有早于fs.trash.interval
.引用官方文件:
最新删除的文件被移动到当前垃圾箱目录(/user/username/.trash/current),在可配置的时间间隔内,hdfs为当前垃圾箱目录中的文件创建检查点(在/user/username/.trash/date下),并在旧检查点过期时删除它们。