工作上每天的日志数据和结果数据有很多,如果不及时清理服务器很快就爆掉了。之前都是在各个任务自己的程序中清理,项目多了之后感觉配置复杂而且很多重复的工作,况且清理数据工作本身比较相似、独立,于是就把这部分工作集中一起处理。
工具由shell脚本和配置文件实现,主要功能特点有:
1. 支持删除本地数据,包括文件夹和文件,支持通配符
2. 支持删除hadoop hdfs数据,包括文件夹和文件,支持通配符,支持跨集群
3. 支持hive删除分区,使用drop partition语句实现,支持跨集群
4. 单项数据保留时间可配置
5. 一个配置文件,集中管理
配置文件格式:
"#注释内容
file <path> <name>(可带通配符*) <保留小时数>
hdfs <path> <name>(可带通配符*) <保留小时数>
hive <host:port> <db.table> <保留小时数>"
举个栗子:
#project name
file /path/to/dir * 120
file /path/to/dir name* 120
hdfs /path/to/hdfs/dir * 240
hdfs hdfs://host:port/path/to/hdfs/dir *name* 240
hive host:port db.table hour_count
过段时间放出脚本源码。有了这个工具,妈妈再也不用担心我的服务器爆掉了~