美文网首页
hdfs trash

hdfs trash

作者: 王小禾 | 来源:发表于2019-07-15 14:09 被阅读0次
  1. 回收站:
    https://blog.csdn.net/bitcarmanlee/article/details/51464886

https://blog.csdn.net/xuejingfu1/article/details/52528259

hadoop里的trash选项默认是关闭的。所以如果要生效,需要提前将trash选项打开。修改conf里的core-site.xml即可。我们集群的相关配置如下:

 <!--Enabling Trash-->
    <property>
        <name>fs.trash.interval</name>
        <value>1440</value>
    </property>
    <property>
        <name>fs.trash.checkpoint.interval</name>
        <value>1440</value>
    </property>

1440分钟就是1天。
fs.trash.interval是在指在这个回收周期之内,文件实际上是被移动到trash的这个目录下面,而不是马上把数据删除掉。等到回收周期真正到了以后,hdfs才会将数据真正删除。默认的单位是分钟,1440分钟=60*24,刚好是一天。
fs.trash.checkpoint.interval则是指垃圾回收的检查间隔,应该是小于或者等于fs.trash.interval


ExternalTrash

为指定用户添加回收站过期时间
【设置用户trash】
在etc/hadoop 下添加配置文件:externaltrash.xml
并配置:

<!--默认false不开启-->
<property>
    <name>fs.user.trash.interval.enable</name>
    <value>true</value>
</property>

<!--默认checkpoint间隔就是60分钟-->
<property>
    <name>fs.trash.checkpoint.interval.delta</name>
    <value>60</value>
</property>

<!--配置指定用户过期时间单位分钟-->
<property>
   <name>fs.user.$USER_NAME.trash.interval</name>
   <value>1440</value>
</property>

注意:

core-site.xml中必须已经配有:fs.trash.intervalfs.trash.checkpoint.interval 这两个配置。因为ExternalTrash在加载externaltrash.xml前,在构造器中会先读这两个值。

fs.trash.checkpoint.interval 值不能<=0,也不能大于 fs.trash.interval 的值。
重启externalTrash:

~/hadoop-current/sbin/hadoop-daemon.sh stop externaltrash
~/hadoop-current/sbin/hadoop-daemon.sh start externaltrash

启动成功后,会有log显示指定用户的过期时间

less /home/hadoop/xxx/logs/hadoop-hadoop-externaltrash-bigdata-nmg-hdfsmaster01.nmg01.log

相关文章

网友评论

      本文标题:hdfs trash

      本文链接:https://www.haomeiwen.com/subject/cbagkctx.html