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

CM上HDFS容量显示与实际命令不一致的问题分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

成都创新互联2013年开创至今,是专业互联网技术服务公司,拥有项目成都做网站、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元团风做网站,已为上家服务,为团风各地企业和个人服务,联系电话:028-86922220

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

1.问题描述


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

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

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

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

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

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

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

2.问题分析


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

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

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

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

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

将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容量显示与实际命令不一致的问题分析

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

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

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

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

CM上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容量显示与实际命令不一致的问题分析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


分享文章:CM上HDFS容量显示与实际命令不一致的问题分析
当前网址:http://azwzsj.com/article/jheceo.html