hdfs清理数据后,Blocks Pending Deletion持续增长导致磁盘不释放问题记录

今天收到测试环境磁盘资源告警,发现hdfs占用磁盘过多,于是清理了一波,删除了很多大文件

然后奇葩的事情发生了,清理之后磁盘占用不仅没用变少,反而还变多了

但是使用hdfs dfs -du -s -h /命令查看,数据确实是清理了的,排除回收站问题

通过hdfs ui观察,发现Number of Blocks Pending Deletion变得好大,而且还在持续增长
一般来说这个值变大是因为突然删除了大量数据导致,hdfs通过命令删除文件时,namenode只是把目录入口删掉,然后把需要删除的数据库记录到pending deletion blocks列表,当下一次datanode向namenode发送心跳的时候,namenode再把删除命令和这个列表发送到datanode。

但是照理来说应该时变大之后再慢慢变小才对,为何还会持续增长呢

然后查资料的时候发现一个参数设置:dfs.namenode.startup.delay.block.deletion.sec
官网文档释义如下:

The delay in seconds at which we will pause the blocks deletion after Namenode startup. By default it's disabled. In the case a directory has large number of directories and files are deleted, suggested delay is one hour to give the administrator enough time to notice large number of pending deletion blocks and take corrective action.

大概意思时说namenode重启后的一段时间,暂停数据块的删除
然后我们这个值配置的3600,也就是重启后1小时内不会进行数据块删除
好巧不巧,我删除数据之前正好重启了namenode。。。

于是把这个配置改为0,再重启hdfs,问题解决

参考链接:
https://blog.csdn.net/hejiangtju/article/details/80152341
https://hadoop.apache.org/docs/r3.2.2/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值