zoukankan      html  css  js  c++  java
  • hive 中间会话临时文件自动清理脚本

    hive在运行过程中,我们经常会发现 hdfs /tmp/hive/hive or hdfs 目录占用空间巨大,我这里已经清理过了所以,相对较小。但是初次使用hive的用户,一定会发现

    随着时间的推移,/tmp/hive 目录一定会变的越来越庞大,这主要是hive在运行过程中会生产大量的中间会话在/tmp目录下,如果hive正常运行结束,临时会话会被自动清理掉,

    但是如果中间出现hive中断,或者异常退出,这些中间会话就会一直保存在hdfs上,久而久之,越来越多,造成大量无用的积压文件。必须手动清理掉。

    参考国外论坛的脚本,写了如下脚本,定时清理或者手动执行均可。

    #!/bin/bash
    #cleanup hive session dir on hdfs named with /tmp/hive/hdfs
    usage="Usage: cleanup.sh [days]"

            if [ ! "$1" ]

            then

            echo $usage

            exit 1

    fi

    now=$(date +%s)

    hadoop fs -ls  /tmp/hive/hdfs | grep "^d" | while read f; do

    dir_date=`echo $f | awk '{print $6}'`

    difference=$(( ( $now - $(date -d "$dir_date" +%s) ) / (24 * 60 * 60 ) ))

    if [ $difference -gt $1 ]; then

    echo $f
    hadoop fs -rm -r -skipTrash  `echo $f| awk '{ print $8 }'`;   //此处直接对上边的过滤结果进行删除,建议先改成 hadoop fs -ls -R 命令先进行测试,一切正常在改回删除。

    fi

    done

    -------------------------------------------------------------

    我这边,阿里云centos7环境,脚本运行正常。

  • 相关阅读:
    C/C++打印堆栈信息
    adb shell input keyevent值所对应的字符
    Nautilus-Share-Message: Called "net usershare info" but it failed: Failed to
    ubuntu 安装lua错误
    ubuntu 16.04 安装jdk9错误
    国家统计信息查询网址
    Spring ApplicationListener配合-D实现参数初始化
    Feign Form表单POST提交
    window下绝对路径
    SpringBoot中使用配置文件
  • 原文地址:https://www.cnblogs.com/telegram/p/10748530.html
Copyright © 2011-2022 走看看