磁盘满了的处理方法

#查找前50大于50M的

[root@node1 log]# find / -type f -size +50M 2>/dev/null|xargs du -shm|sort -nr |head  -50

 

压缩脚本:

#!/bin/sh
log_dir='/tmp'
if [ -d "$log_dir" ]
then
cd "$log_dir"
find ./ -type f -mtime +0 -name '*.log' -exec gzip -f {} \;
find ./ -type f -mtime +14 -name "*.gz" -exec rm -rf {} \;
fi

 

#查看目录文件大小

cd /tmp

du -sh

#查看目录下那个目录或文件最大

du -s * |sort -nr |head  #用这个,加h有时显示不了.

du -sh * |sort -nr |head

du -sh *    #查目录文件大小,不排序

 

例如:

[root@ordie-dr-mysql data]# du -sh mysql
57G mysql
[root@ordie-dr-mysql data]# du -sh mysql/*
0 mysql/binlog
56G mysql/data
380K mysql/log
0 mysql/mysqld.sock
4.0K mysql/mysqld.sock.lock
1.4G mysql/relaylog
0 mysql/tmp

 

HDFS:

#看集群大小
hdfs dfsadmin -report 

hdfs dfs -du -h /
662 1.9 K /1.txt
66.0 M 197.9 M /apps
14.6 M 43.8 M /checkpoints
204.6 K 613.8 K /flink
6.0 K 18.1 K /logs
30.3 G 90.8 G /tmp
315.7 G 946.5 G /user

查看:

hdfs dfs -du -h /

hdfs dfs -du -h /tmp/hive/

hdfs dfs -du -s -h /user/hive/warehouse/*

删除hive所有用户作业的临时文件:
hdfs dfs -rm -r /tmp/hive/*

然后删除回收站:

hdfs dfs -ls /user/root/.Trash
hdfs dfs -rm -r /user/root/.Trash/Current/tmp/hive/*

 

还可以删除/usercache 该目录包含为先前作业存储的中间数据。
rm -rf $ {yarn.nodemanager.local-dirs}/usercache/ *

2/ Hive客户端的作业异常退出客户端无法正常的清理HDFS的临时目录,从而导致临时数据文件占用了大量的HDFS空间

https://cloud.tencent.com/developer/article/1363423
airflow-1
su hdfs

hdfs dfs -rm -r /tmp/hive/hive/*    #把hive下所有临时文件都删除,这样会导致正在运行的hive作业报错
hdfs dfs -rm -r hdfs://warehourse/user/hdfs/.Trash/Current/tmp/hive/hive/*
hdfs dfs -rm -r /user/hive/.staging/*

 

posted on 2019-08-05 11:14  锋锋2019  阅读(378)  评论(0编辑  收藏  举报

导航