从很长一段时间以来,我观察到Hadoop框架在垃圾箱当前目录上设置了一个检查点,而不考虑时间间隔,而在创建自动检查点后,在指定的删除间隔内永久删除文件/目录。以下是我测试的内容:
vi core-site.xml
<property>
<name>fs.trash.interval</name>
<value>5</value>
</property>
hdfs dfs -put LICENSE.txt /
hdfs dfs -rm /LICENSE.txt
fs.TrashPolicyDefault:Namenode垃圾箱 配置:删除间隔= 5分钟,Emptier间隔= 0 分钟。已移动:&#39; hdfs://hacluster/LICENSE.txt'垃圾: HDFS://hacluster/user/hduser/.Trash/Current
hdfs dfs -ls -R /user/hduser
/user/hduser/.Trash/Current
/user/hduser/.Trash/Current/LICENSE.txt
过了一段时间:
/user/hduser/.Trash/160229140000
/user/hduser/.Trash/160229140000/LICENSE.txt
我创建了一个示例bash脚本来跟踪Hadoop在什么时候设置&#34; Current&#34;检查点的目录和检查点之后在指定的垃圾箱间隔中删除:
垃圾箱间隔:5分钟
垃圾箱间隔:10分钟
垃圾箱间隔:15分钟
垃圾间隔:20分钟
垃圾箱间隔 - 20分钟(清除 - 手动检查点)
hdfs dfs -expunge
任何人都可以帮助理解Hadoop何时创建此检查点。采用了什么机制来创建垃圾检查点?如果是资源可用性,那么我的测试环境在此测试期间的开销为零。