0
点赞
收藏
分享

微信扫一扫

CM上HDFS容量显示与实际命令不一致问题分析

文风起武 2022-09-11 阅读 274

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。


Fayson的github:

​​https://github.com/fayson/cdhproject​​


提示:代码块部分可以左右滑动查看噢


1.问题描述


通过Cloudera Manager看到HDFS的容量使用显示为103.9GB


CM上HDFS容量显示与实际命令不一致问题分析_hdfs


通过HDFS的50070界面查看到HDFS的容量使用情况为41.63GB


CM上HDFS容量显示与实际命令不一致问题分析_cloudera_02


使用hadoop fs -du –h /命令查看HDFS的使用情况,HDFS的使用为41.63GB


CM上HDFS容量显示与实际命令不一致问题分析_cloudera_03


疑问:为什么Cloudera Manager上显示HDFS空间的使用量会比HDFS真实使用量大很多?


2.问题分析


在Cloudera Manager上鼠标停留在HDFS容量配置上会显示容量使用说明,如下图所示:


CM上HDFS容量显示与实际命令不一致问题分析_cloudera_04


CM上显示HDFS配置容量由两部分组成DFS使用的空间和非DFS使用的空间两部分组成。


接下来我们再看看HDFS的50070界面的统计信息可以看到有DFS Used和Non DFS Used两个信息。


CM上HDFS容量显示与实际命令不一致问题分析_hdfs_05


将DFS Used和Non DFS Used两个数据相加刚好与Cloudera Manager上显示的配置容量103.9GB一致。

 

问题又来了“Non DFS Used”这一部分空间是什么?“Non DFS Used”是如何计算的?


3.Non DFS Used说明


这里Fayson拿集群的一个节点cdh03来说明,如下是cdh03节点磁盘挂载信息,/data/disk1盘是HDFS配置的数据目录。


CM上HDFS容量显示与实际命令不一致问题分析_sed_06


1.在HDFS的DataNode配置中“dfs.datanode.du.reserved”用来为HDFS的数据盘预留一定的空间,默认为10GB


CM上HDFS容量显示与实际命令不一致问题分析_sed_07


那这样HDFS对该盘的使用空间为100GB - 9.99GB=90GB


2.使用hadoop dfsadmin -report命令查看HDFS空间各个节点的使用情况


CM上HDFS容量显示与实际命令不一致问题分析_hdfs_08


如上截图为cdh03.fayson.com节点DFS使用报告,包含了DFS的总容量,已使用容量,可用容量以及“Non DFS Used”。


3.Non DFS Used的计算方式大概为

磁盘总容量 - 节点预留容量(dfs.datanode.du.reserved)- DFS Used – DFS Remaining即为“Non DFS Used”

100GB - 10GB - 13.88GB - 57.55GB ≈ 18.03GB


所以根据以上得出结论,当我们为数据盘预留了10GB给系统或其他非HDFS文件的存储空间,那么DFS的使用空间就为90GB,但是非HDFS文件占用空间超过10GB则会占用DFS配置的90GB空间,所以“Non DFS Used”就是占用DFS容量的那部分空间。


4.总结


在Cloudera Manager中显示的HDFS容量配置分为了两个部分DFS使用的空间和非DFS使用的空间。


其中的“Non DFS Used”空间即为DN节点每块盘中在排除预留空间后非HDFS文件占用DFS容量的那部分空间(如kudu数据、Kafka数据、用户自己的数据等)。


参考:https://stackoverflow.com/questions/18477983/what-exactly-non-dfs-used-means



提示:代码块部分可以左右滑动查看噢


为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。


推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

CM上HDFS容量显示与实际命令不一致问题分析_cloudera_09

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操


举报

相关推荐

0 条评论