使用CDH遇到机器并没有跑什么生产项目,但是产生了将近300G/每个节点的数据。
过程中使用hadoop fs -du -h / 来查看hadoop根目录下文件的空间占用量,在这里看到spark占用了差不多1.3T左右的磁盘空间。
运行命令会提示用户没有权限,进去CDH下面的HDFS的配置,搜索dfs.permissions,把检查HDFS权限的√去掉,然后权限就打开了。
同时确定spark并没有需要落定在本地的生产数据,从而确定占用空间的都是代码运行的时候产生的运行文件。
确定可以删除,那就果断删了它们,这里使用hdfs -rm -r /user/**/spark/ 把这些无用文件都删掉。
这里就显示所有的文件是被move到hadoop的回收站。
接下来进入回收站,使用hadoop dfs -expunge 显示标记了checkpoint,但是没有删除记录。
等待大约两分钟后发现并没有删除,果断进入回收站路径,hadoop fs -rmr /user/***/.Trash命令直接删除回收站。
查看文件的占用量发现已经清空了,但是CDH并没有刷新出来,那好,回头去restart一下CDH的agent,再来看,发现已经刷新了,显示占用量之后200G左右。
记录一下可能出现的问题:删除的时候直接把.Trash文件删除了,如果下次出现找不到这个文件,可以试着自行新建一个/user/root/.Trash。
pss:因为删除的时候把spark下面的文件都给删除了,所以运行spark的时候报错说找不到文件/user/spark/applicationHistory。我灵光一闪,进去hdfs -mkdir /user/spark/applicationHistory 自己创建了一个文件,然后。。他就好了。。