HDFS数据清理一些办法:

datanode数据做reblance
清理临时目录、日志目录文件
全量分区表历史分区清理
使用lzo,orc格式进行数据压缩
清理或者归档历史冷数据
增加datanode横向扩容
附上自动清理目录下过期的文件

#!/bin/bash
source ~/.bash_profile

# 将待检测的目录(可以为多个)加载至数组中
yarn_log_dir=/app-logs/spark/logs
spark_log_dir=/spark-history
spark2_log_dir=/spark2-history
mr_log_dir=/mr-history/done/$(date +"%Y/%m" -d "-1 days")

array_check=($yarn_log_dir $mr_log_dir)

# 过期天数
expire_days=14

# 当前时间戳
today_timestamp=$(date -d "$(date +"%Y-%m-%d %H:%M")" +%s)

#Func: 删除指定时间之前的过期
removeOutDate(){
hadoop fs -ls $1 > temp_list.txt
cat temp_list.txt | while read quanxian temp user group size day hour filepath
do
current_file_time="$day $hour"
current_file_timestamp=$(date -d "$current_file_time" +%s)
if [ $(($today_timestamp-$current_file_timestamp)) -ge $(($expire_days*24*60*60)) ];then
echo "$day $hour $size $filepath"
hadoop fs -rm -r -skipTrash $filepath > /dev/null 2>&1
fi
done
}

#Func: 执行删除
execute(){
echo -e "\n\n"
echo "$(date +'%Y-%m-%d %H:%M:%S') start to remove outdate files in hdfs"
echo "$(date +'%Y-%m-%d %H:%M:%S') today is: $(date +"%Y-%m-%d %H:%M:%S")"

for i in ${array_check[@]}
do
echo "$(date +'%Y-%m-%d %H:%M:%S') processing filepath: $i"
removeOutDate $i
echo -e "\n"
done

echo "$(date +'%Y-%m-%d %H:%M:%S') remove outdate files in hdfs finished"
echo -e "\n\n"

rm -f temp_list.txt
}

# 开始执行
execute

最新文章

  1. Smarty的基本使用与总结
  2. rabbitMQ第五篇:Spring集成RabbitMQ
  3. Javascript中判断变量是 array还是object(是数组还是对象)
  4. PRD产品需求文档
  5. java高薪之路__005_IO流
  6. linux 错误处理
  7. CUBRID学习笔记 36 在net中添加多行记录
  8. salon_百度百科
  9. 解决phpstorm ftp自动保存文件问题
  10. 【bzoj2151】种树
  11. 注意UTF-8-BOM 这个编码格式
  12. 命令行方式登录PostgreSQL
  13. windows server 2008 远程连接
  14. DDMS调试信息
  15. easyui-combo个人实例
  16. BZOJ3524 & LOJ2432:[POI2014]代理商Couriers——题解
  17. Linux下文件属性(drwxr-xr-x)详解以及(-rwxrwxrwx=777)(转)
  18. 18、Flask实战第18天:Flask-session
  19. Python多进程之multiprocessing模块和进程池的实现
  20. GitHub---github入门

热门文章

  1. gojs Diagram Events(图表事件)
  2. 通过字节码分析Java异常处理机制
  3. Hadoop的简单了解与安装
  4. 重构CMDB,避免运维之耻
  5. Spring MVC + freemarker实现半自动静态化
  6. Codeforces Educational Codeforces Round 54 题解
  7. php大文件上传
  8. learning armbian steps(5) ----- armbian 构建arm rootfs
  9. 数据库学习之三--Select查询及运算符
  10. 【csp模拟赛3】bridge.cpp--矩阵加速递推