Hive元数据找回

  如果不小心删除了了hive的元数据文件(/user/hive/warehouse),只要先前core-site.xml文件中设置了fs.trash.interval属性就可以找回。hdfs会为用户创建一个回收站的目录,通过shell删除的文件会在该回收站中停放一定的时间,最终才被删除。该回收站目录是/user/用户名/.Trash/Current/user/hive/warehouse,如果短时间删除多个,/user/用户名/.Trash/Current/user/hive目录下会有多个warehouse。想恢复只需要把需要的元数据mv回到/user/hive/warehouse目录下即可(hdfs dfs -mv /user/用户名/.Trash/Current/user/hive/warehouse  /user/hive/warehouse)。

  hadoop中trash选项,默认是关闭的,如果要生效需要将trash选项打开,在core-site.xml文件中配置fs.trash.interval即可

    <property>
        <name>fs.trash.interval</name>
        <value>1020</value>
    </property>
    <property>
        <name>fs.trash.checkpoint.interval</name>
        <value>1020</value>
    </property>

fs.trash.interval设置的默认单位是分钟,等回收周期真正到了以后。hdfs才会将数据真正删除。fs.trash.checkpoint.interval则是指垃圾回收的检查间隔,应该是小于或者等于fs.trash.interval

posted on 2018-07-25 09:18  xiaoshiyun  阅读(3163)  评论(0编辑  收藏  举报

导航