如何*真正*从 hdfs 回收磁盘 space
How to *really* reclaim disk space from hdfs
第一步是
hdfs dfs -rmr <path>
这会将文件丢弃到 /.Trash 但不会删除它们。
下一步是
hdfs dfs -expunge
尚不清楚实际执行的是什么 - 因为之后我们仍然看到:
$ hdfs dfs -du -h
279.4 G .Trash
那么 .. 如何让 .Trash
一劳永逸地 poof ..
删除时尝试使用 -skiptrash 选项。这将永远删除。
expunge
似乎导致垃圾收集被安排
hdfs dfs -expunge
15/08/30 19:34:32 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 360 minutes, Emptier interval = 0 minutes.
15/08/30 19:34:32 INFO fs.TrashPolicyDefault: Created trash checkpoint: /user/stack/.Trash/150830193432
请注意,垃圾的 检查点 已创建。有点令人担忧的是 Emptier interval
是 0。那么,什么时候真正删除数据..
以下是 core-site.xml
设置(感谢此 SOF 回答 How To Automate Hadoop Trash Cleanup 找到它们):
<property>
<name>fs.trash.interval</name>
<value>0</value>
<description>Number of minutes after which the checkpoint
gets deleted.
If zero, the trash feature is disabled.
</description>
</property>
<property>
<name>fs.trash.checkpoint.interval</name>
<value>0</value>
<description>Number of minutes between trash checkpoints.
Should be smaller or equal to fs.trash.interval.
Every time the checkpointer runs it creates a new checkpoint
out of current and removes checkpoints created more than
fs.trash.interval minutes ago.
</description>
</property>
我正在研究将这些值设置为零的实际效果。这似乎与启用的 Trash
功能不一致..
第一步是
hdfs dfs -rmr <path>
这会将文件丢弃到 /.Trash 但不会删除它们。
下一步是
hdfs dfs -expunge
尚不清楚实际执行的是什么 - 因为之后我们仍然看到:
$ hdfs dfs -du -h
279.4 G .Trash
那么 .. 如何让 .Trash
一劳永逸地 poof ..
删除时尝试使用 -skiptrash 选项。这将永远删除。
expunge
似乎导致垃圾收集被安排
hdfs dfs -expunge
15/08/30 19:34:32 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 360 minutes, Emptier interval = 0 minutes.
15/08/30 19:34:32 INFO fs.TrashPolicyDefault: Created trash checkpoint: /user/stack/.Trash/150830193432
请注意,垃圾的 检查点 已创建。有点令人担忧的是 Emptier interval
是 0。那么,什么时候真正删除数据..
以下是 core-site.xml
设置(感谢此 SOF 回答 How To Automate Hadoop Trash Cleanup 找到它们):
<property>
<name>fs.trash.interval</name>
<value>0</value>
<description>Number of minutes after which the checkpoint
gets deleted.
If zero, the trash feature is disabled.
</description>
</property>
<property>
<name>fs.trash.checkpoint.interval</name>
<value>0</value>
<description>Number of minutes between trash checkpoints.
Should be smaller or equal to fs.trash.interval.
Every time the checkpointer runs it creates a new checkpoint
out of current and removes checkpoints created more than
fs.trash.interval minutes ago.
</description>
</property>
我正在研究将这些值设置为零的实际效果。这似乎与启用的 Trash
功能不一致..