很长一段时间以来,我观察到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分钟,清空器间隔=0分钟。已移动:'hdfs://hacluster/license.txt'垃圾处理地点:hdfs://hacluster/user/hduser/.trash/current hdfs dfs -ls -R /user/hduser
/用户/hduser/.trash/current
/用户/hduser/.trash/current/license.txt
过了一段时间:
/用户/hduser/.trash/16022914000
/用户/hduser/.trash/16022914000/license.txt
我创建了一个bash脚本示例,用于跟踪hadoop在什么时候将“current”目录设置为checkpoint,以及在checkpoint之后在指定的垃圾桶间隔内删除:
垃圾箱间隔:5分钟
自动检查点-约30秒
永久删除-约5分钟
垃圾桶间隔:10分钟
自动检查点-约90秒
永久删除-约10分钟
垃圾桶间隔:15分钟
自动检查点-约630秒
永久删除-约15分钟
垃圾桶间隔:20分钟
自动检查点-约1080秒
永久删除-约20分钟
垃圾箱间隔-20分钟(清除-手动检查点)
hdfs dfs -expunge
手动检查点-立即
永久删除-约20分钟
任何人都可以帮助理解hadoop何时创建这个检查点。采用了什么机制来创建垃圾检查点?如果是资源可用性,那么我的测试环境在此测试期间没有开销。
暂无答案!
目前还没有任何答案,快来回答吧!