磁盘满了的处理方法
#查找前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/*