V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
gouchaoer
V2EX  ›  Java

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

  •  
  •   gouchaoer · Aug 7, 2017 · 5817 views
    This topic created in 3185 days ago, the information mentioned may be changed or developed.
    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 的某个目录作为临时目录用完就删除了,会不会是这个原因?

    9 replies    2017-08-07 15:05:01 +08:00
    defunct9
        1
    defunct9  
       Aug 7, 2017
    找找垃圾箱里的东西吧,上次就是垃圾箱未回收导致 hdfs 挂了
    gouchaoer
        3
    gouchaoer  
    OP
       Aug 7, 2017
    @defunct9 不是的垃圾箱为空
    knightdf
        4
    knightdf  
       Aug 7, 2017
    du 和 df 本来就不一致
    zdyxry
        5
    zdyxry  
       Aug 7, 2017
    Infernalzero
        6
    Infernalzero  
       Aug 7, 2017
    lsof |grep deleted
    如果没有文件句柄未被释放的,就说明你磁盘挂载的时候出了问题,检查下对应的挂载
    gouchaoer
        7
    gouchaoer  
    OP
       Aug 7, 2017 via Android
    @zdyxry
    @Infernalzero linux 下的 du 和 df 并没有问题,hdfs 是几台机器抽象出来的,hadoop 的 du 和 df 是 hdfs 上的
    virusdefender
        8
    virusdefender  
       Aug 7, 2017
    du 默认不显示隐藏文件的
    cxbig
        9
    cxbig  
       Aug 7, 2017 via iPhone
    du 只显示文件占用
    df 还包括了系统进程占用

    比方说某个进程卡死,关联的 log 文件缓存可以吃光硬盘空间。这个时候 du 是找不出来的,用 lsof 可以找到。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3152 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 14:33 · PVG 22:33 · LAX 07:33 · JFK 10:33
    ♥ Do have faith in what you're doing.