清理hdfs上flink程序残留的文件

一、背景

查看CDH节点的状态时,发现其中一个节点磁盘即将满
在这里插入图片描述

二、问题定位

通过查看linux主机磁盘占用,发现HDFS文件占用过大​

du -x -h --max-depth=1

在这里插入图片描述
查看HDFS文件中,文件大小排行逆序TOP10

hdfs dfs -ls -R / | sort -r -n -k 5 | head -10 

发现主要是flink的checkpoint:

在这里插入图片描述

有的集群发现是另外2类垃圾:

Log文件、Jar包文件(flink spark)
(1) /tmp/logs/bigdata/logs/application_1634782320178_0251/node6_8041
(2) /user/bigdata/.flink/application_1634782320178_0079/xxx.jar
(3) /user/spark/applicationHistory/application_1671610454634_001

三、解决方法

清理文件,只要不是正在运行的application ,都可以删除

hdfs dfs -rm -r /user/bigdata/.flink/application_*
hdfs dfs -rm -r /tmp/logs/root/logs/application_*
hdfs dfs -rm -r /user/spark/applicationHistory/application_*

在HDFS里,回收站功能开启后,删除文件时,不会真正的删除,暂时是放入回收站.trash中,回收站里的文件可以快速恢复。
可以设置一个时间阈值,当回收站里文件的存放时间超过这个阈值或是回收站被清空时,文件才会被彻底删除,并且释放占用的数据块。

这里选择直接删除.Trash目录文件,并清空回收站文件

删除.Trash目录(清理垃圾)

hdfs dfs -rm -r /user/root/.Trash/*

清空回收站

扫描二维码关注公众号,回复: 16512561 查看本文章
hdfs dfs -expunge

四、检验结果

查看节点磁盘状态
在这里插入图片描述
可以看到,磁盘清空了很多

猜你喜欢

转载自blog.csdn.net/xfp1007907124/article/details/130266411