hdfs 占用空间 df 和 du 不一致问题

2017-08-07 12:20:17 +08:00
 gouchaoer
hadoop fs -df -h
Filesystem        Size   Used  Available  Use%
hdfs://cluster1  2.7 T  1.2 T      1.3 T   44%

hadoop fs -du -s -h /user/hive/warehouse
252.5 G  /user/hive/warehouse

为啥 du 和 df 算出来不一样,我 hdfs 只有 warehouse 里几百 G 的东西,绝不会用了 1.2 个 T ; 我经常性的把 hdfs 的某个目录作为临时目录用完就删除了,会不会是这个原因?

5034 次点击
所在节点    Java
9 条回复
defunct9
2017-08-07 12:29:47 +08:00
找找垃圾箱里的东西吧,上次就是垃圾箱未回收导致 hdfs 挂了
gouchaoer
2017-08-07 12:37:49 +08:00
gouchaoer
2017-08-07 12:38:28 +08:00
@defunct9 不是的垃圾箱为空
knightdf
2017-08-07 12:49:47 +08:00
du 和 df 本来就不一致
zdyxry
2017-08-07 12:57:17 +08:00
Infernalzero
2017-08-07 12:58:16 +08:00
lsof |grep deleted
如果没有文件句柄未被释放的,就说明你磁盘挂载的时候出了问题,检查下对应的挂载
gouchaoer
2017-08-07 13:14:40 +08:00
@zdyxry
@Infernalzero linux 下的 du 和 df 并没有问题,hdfs 是几台机器抽象出来的,hadoop 的 du 和 df 是 hdfs 上的
virusdefender
2017-08-07 13:18:37 +08:00
du 默认不显示隐藏文件的
cxbig
2017-08-07 15:05:01 +08:00
du 只显示文件占用
df 还包括了系统进程占用

比方说某个进程卡死,关联的 log 文件缓存可以吃光硬盘空间。这个时候 du 是找不出来的,用 lsof 可以找到。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/381013

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX