美文网首页
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