我不明白在Hadoop垃圾箱中创建检查点的目的是什么,然后我做了一个简单的测试。
但是我看到它在大约7分钟后被移动到检查点文件夹。
超过10分钟后,文件已在“废纸篓”中永久删除。
1)我的第一个问题是检查点的目的是什么。
然后我在core-site.xml中将fs.trash.checkpoint.interval属性设置为3分钟。
我在HDFS中删除了一个文件,大约3分钟后它被移到了检查点文件夹 大约10分钟后,垃圾也空了 如果我使用命令' hdfs dfs -expunge,文件会立即移动到checkpoint文件夹。
2)我的第二个问题是文件将在10分钟后被永久删除,那么设置&f; fs.trash.checkpoint.interval'
的目的是什么?答案 0 :(得分:1)
从“ org.apache.hadoop.fs.TrashPolicyDefault”的源代码中,
Files are moved to a user's trash directory, a subdirectory of their home
directory named ".Trash". Files are initially moved to a <i>current</i>
sub-directory of the trash directory. Within that sub-directory their original
path is preserved. Periodically one may checkpoint the current trash and
remove older checkpoints. (This design permits trash management without
enumeration of the full trash content, without date support in the filesystem,
and without clock synchronization.)
答案 1 :(得分:0)
检查点只是一种不会定期清理整个垃圾文件夹的方法,一举一动。
fs.trash.checkpoint.interval
实际上是删除文件的内容。
Current
正从fs.trash.interval
移至检查点文件夹。
fs.trash.checkpoint.interval
默认:0
说明:删除检查点的分钟数。如果为零,则禁用垃圾箱功能。这个选项可能是 在服务器和客户端上配置。如果垃圾被禁用 服务器端然后检查客户端配置。如果垃圾是 在服务器端启用,然后在服务器上配置的值 使用,并忽略客户端配置值。
fs.trash.interval
默认:0
说明:垃圾检查点之间的分钟数。应小于或等于fs.trash.interval
。如果为零,则将值设置为fs.trash.interval
的值。每次checkpointer运行它 从当前创建一个新的检查点并删除检查点 创建时间超过sequelize init
分钟