前言
50070页面上的文件数和block数,通过jmx获取时,看字面上的意思对不上,所以,专门写个文章分析一下。
提示:以下是本篇文章正文内容,下面案例可供参考
一、50070页面,这2个数字的意思
第一个是文件数+目录数的总和,目前是66236,第二个数是65530个block,block的个数(不包含副本)
二、验证方法
**验证方法:**停止集群写入,查看目前的文件数和block数。记录。写入一个3个block大小的文件,比对前后的变化。
步骤1.停止集群,记录目前的数据
jmx记录:
"TotalBlocks" : 65527,
"TotalFiles" : 66235,
count的记录数:
[root@hadoop101 software]#hadoop fs -count /
715 65520 45397229883 /
总数:715 (目录数) + 65520 (文件数) = 66253 (TotalFiles)
这个总数与50070页面的第一个数是一致的。
步骤2. put一个有3个block的文件看看,对比变化
发现多了一个文件:
[root@hadoop101 software]# hadoop fs -count /
715 65521 45669867629 /
目录数 + 文件数 = 715 +65521 = 66236
50070页面发现,多了3个block,如下图:
jmx获取的TotalBlocks和TotalFiles就是这页面上的这两个数。
总结
Jmx上的TotalFiles有误导意思。其实是TotalFilesAndDirectory 总文件+总目录数。
给我们提示:起个能正确表达意思的名字很重要!