Hadoop垃圾回收机制
**何为垃圾回收?**
即开启垃圾回收站,把删除的文件首先放置在回收站中,等待配置的时间结束,进行真正的数据删除。
默认情况下,*HDFS 的垃圾回收机制是没有开启的*,但是 HDFS 是可以开启垃圾回收机制的。
启动 HDFS 上的垃圾回收机制只需要配置两个参数:
- 第一个参数:**fs.trash.interval,表示检查点被删除之前的分钟数,默认为0,单位为分钟。****如果为0,则表示禁用垃圾回收功能**。这里我们可以设置为1440分钟,即1天,保留在垃圾回收站的文件或文件夹超过1天后会自动删除。在生产上的 HDFS 垃圾回收机制是必须开启的,一般设置成7天或者14天,设置更长。
- 第二个参数:**fs.trash.checkpoint.interval,表示垃圾检查点之间的分钟数,默认为 0,单位为分钟。**该值应该小于或等于 fs.trash.interval,如果为 0,则将该值设置为 fs.trash.interval 的值,所以生产上我们直接设置为 0。每次检查点运行时,它都会创建一个新的检查点,并删除超过 fs.trash.interval 分钟前创建的检查点。
**HDFS 垃圾回收机制配置:**
我们需要在配置文件 core-site.xml 中设置回收机制:
<property><name>fs.trash.interval</name><value>1440</value></property><property><name>fs.trash.checkpoint.interval</name><value>0</value></property>
注意:在修改配置文件之前需要将 HDFS 集群关闭,修改完成再重启 HDFS 集群,此时修改的配置文件才会生效。