问题关键
磁盘写满后HDFS会一直处于安全模式,无法退出。我们的目的是,在Linux层面清理磁盘。从而使HDFS退出安全模式,然后在HDFS层面把无用的目录清理掉。从而彻底腾出磁盘。
解决步骤
1、Linux层面删除数据
DataNode数据目录下最大的目录删了,这样磁盘就空出来,HDFS才能退出安全模式。
查看所有DataNode数据那个目录最大。命令如下
du -h --max-depth=1 /data/dfs/dn/current/BP-1704543380-172.16.100.155-1602740345537/current/finalized
删除此路径:
rm -rf /data/dfs/dn/current/BP-1704543380-172.16.100.155-1602740345537/current/finalized/subdir3/
2、HDFS层面删除数据
开Kerberos的话记得kinit 认证。
查看那个目录无用的数据最多
hdfs dfs -du -h /user/hdfs/.flink
销毁此目录所有数据,不会放入垃圾箱。彻底清理磁盘
hdfs dfs -rm -r -skipTrash /user/hdfs/.flink/*