CM上HDFS容量显示与实际命令不一致的问题分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
1.问题描述
通过Cloudera Manager看到HDFS的容量使用显示为103.9GB
通过HDFS的50070界面查看到HDFS的容量使用情况为41.63GB
使用hadoop fs -du –h /命令查看HDFS的使用情况,HDFS的使用为41.63GB
疑问:为什么Cloudera Manager上显示HDFS空间的使用量会比HDFS真实使用量大很多?
2.问题分析
在Cloudera Manager上鼠标停留在HDFS容量配置上会显示容量使用说明,如下图所示:
CM上显示HDFS配置容量由两部分组成DFS使用的空间和非DFS使用的空间两部分组成。
接下来我们再看看HDFS的50070界面的统计信息可以看到有DFS Used和Non DFS Used两个信息。
将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配置的数据目录。
1.在HDFS的DataNode配置中“dfs.datanode.du.reserved”用来为HDFS的数据盘预留一定的空间,默认为10GB
那这样HDFS对该盘的使用空间为100GB - 9.99GB=90GB
2.使用hadoop dfsadmin -report命令查看HDFS空间各个节点的使用情况
如上截图为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数据、用户自己的数据等)。
看完上述内容,你们掌握CM上HDFS容量显示与实际命令不一致的问题分析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。