HadoopWeb界面:Hadoop Non DFS Used concept

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014297175/article/details/48679321


图一


图二

    最近一直在奇怪NonDFSUsed容量是什么东西,然后花了一点时间研究了一番,进而引出了一些小的知识点。上面两幅图是hadoop集群节点的情况,下面一台是63节点的磁盘使用情况,hadoop节点的存储目录就是在/data0下面的。

 (1)首先是关于hadoop的存储配置,因为是挂在/data0下面,配置的存储空间就为853个G,这其中有个小配置,dfs.datanode.du.reserved项,这个配置是设置hadoop保留一部分不用于hdfs存储的空间,至于这些空间的用处,可能是用于shuffle过程中map写在本地磁盘上的数据,或者其他的一些,默认为0,因此此时hdfs配置的存储空间就为853G,如果配了10个G,那么图一显示的ConfiguredCapacity=843个G了,Configured Capacity = Total Disk Space - Reserved Space.

( 2)第二个概念,上图一中的Used是指hdfs的使用空间,Remaining是剩余的空间,NonDFSUsed是什么呢,而且是很大,关于为什么很大先不讲述为什么了,先搞清楚它是怎么计算的吧。看了一篇老外的回答,链接如下:http://stackoverflow.com/questions/18477983/what-exactly-non-dfs-used-means。他举了个例子:我有100G的磁盘,dfs.datanode.du.reserved配置是30G,系统文件和其它一些文件一共40G,dfs使用了10个G,那么NonDFSUsed使用了多少?Non DFS used = 100GB(Total) - 30 GB( Reserved) - 10 GB (DFS used) - 50GB(Remaining) = 10 GB。

     所以结论就是你可能配了30个G给系统或者其它一些文件的存储空间,那么DFS就有70G的使用空间,但是其它文件的空间不够用,必然会消耗DFS配置的70G的空间,所以NonDFSUsed指的是侵占DFS容量的那部分空间。,他给出的英文解释是:The term "Non DFS used" should really be renamed to something like "How much configured DFS capacity are occupied by non dfs use",译为:配置的dfs的空间有多少被不是hdfs的文件占用了,这下明白了吧。

(3)再看我上面的例子,因为我并没有配dfs.datanode.du.reserved,所以任何非hdfs文件的存储都在占用DFS空间,这下明了了吧。

(4)再看上图二,有没有发现磁盘使用情况,853G!=642G+169G,这个与hdfs其实无关,我刻意显示文件系统类型,就是在ext2/ext3文件系统下,系统会为root用户预留5%的使用空间,所以算下853*0.95=810.35大概就差不多了。再补充一点:DFS的853G=Used+NonDFSUsed+Remaining,这里并没有缩减,在本人的追寻下,发现其实NonDFSUsed默认包含了那文件系统预留的5%空间了。



没有更多推荐了,返回首页