问题关键

磁盘写满后HDFS会一直处于安全模式,无法退出。我们的目的是,在Linux层面清理磁盘。从而使HDFS退出安全模式,然后在HDFS层面把无用的目录清理掉。从而彻底腾出磁盘。

解决步骤

1、Linux层面删除数据

DataNode数据目录下最大的目录删了,这样磁盘就空出来,HDFS才能退出安全模式。

查看所有DataNode数据那个目录最大。命令如下

  1. du -h --max-depth=1 /data/dfs/dn/current/BP-1704543380-172.16.100.155-1602740345537/current/finalized

删除此路径:

  1. rm -rf /data/dfs/dn/current/BP-1704543380-172.16.100.155-1602740345537/current/finalized/subdir3/

此时HDFS可以成功退出安全模式。

2、HDFS层面删除数据

开Kerberos的话记得kinit 认证。

查看那个目录无用的数据最多

  1. hdfs dfs -du -h /user/hdfs/.flink

销毁此目录所有数据,不会放入垃圾箱。彻底清理磁盘

  1. hdfs dfs -rm -r -skipTrash /user/hdfs/.flink/*