hadoop Non DFS Used是什么

首先我们先来了解一下Non DFS User是什么?
Non DFS User的意思是:非hadoop文件系统所使用的空间,比如说本身的linux系统使用的,或者存放的其它文件
 
它的计算公式:
non dfs used = configured capacity - remaining space - reserved space
 
如果给datanode配置了预留磁盘空间参数的话,可以用下面的公式计算
Non DFS used = ( Total Disk Space - Reserved Space) - Remaining Space - DFS Used
 
我们来看个例子:
如果有100G磁盘,设置dfs.datanode.du.reserved这个值为30G,在该磁盘上系统和其他文件使用了40G,
DFS使用了10GB。如果执行df -h,可以看到有效空间是50G.
 
在HDFS web 界面上,会看到
non dfs user=100(total)-30(reserved)-10(dfs used)-50(remaing)=10G.
 
所以实际上,你初始预留了30G给non dfs使用,70G给hdfs.然而,实际出来的non dfs使用超过了30G并且吃掉了属于hdfs的10g空间。
 
“non dfs used”应该这样子定义“how much configured dfs capacity are occupied by non dfs use”.
译为:配置的dfs的空间有多少被不是hdfs的文件占用了
 
结论是:
如果没有配置dfs.datanode.du.reserved,默认值是0,也就是磁盘的所以空间都给dfs,更好理解non dfs used了,就是给dfs配置的空间有多少被系统、系统进程使用了
 
在hadoop集群内部使用率是如此高
可用用‘lsof|grep delete’,该命令可以帮你确认哪些已经打开的文件被删除了。有时候,hadoop的进程(例如hive/yarn/mapred/hdfs等)也会引用这些已经删除的文件。这些引用也会占用磁盘空间。
 
可以用这个命令
du -hsx * | sort -rh | head -10
查看排行10的最大文件夹或是文件。

posted on 2017-11-13 15:02  gentleman_hai  阅读(2363)  评论(0编辑  收藏  举报

导航