[问]DFS Used是如何计算的?
DFS Used 这个是如何计算的吗?是不是 假如有 100个blocks 每一个 为 64M那么 就为 100*64 = 6400 M 吗?吗?
通过 bin/hadoop fs -du /显示:
/data
/system
/user
三个文件夹的占用空间大小。
查看 计算出的空间大小 和 这个 DFS Used 显示的大小 应该一致吗吗? 有何关系吗? DFS Used的大小要大于hadoop fs -du -s /。和所有DataNode节点的dfs.data.dir目录大小差不多,但也略大于,在cygwin伪分布式环境,发现两者大小是相等的。 回复 2# eyjian
我查看了下hadoop fs -du /
918595768022hdfs://s10-opdev-wps.rdev.kingsoft.net:9900/data(约800G到900G)-------对于dfs.data.dir
0 hdfs://s10-opdev-wps.rdev.kingsoft.net:9900/system
642278641435hdfs://s10-opdev-wps.rdev.kingsoft.net:9900/user (约600G左右)---------对应hive.metastore.warehouse.dir
但是
Cluster Summary77646 files and directories, 65776 blocks = 143422 total. Heap Size is 153 MB / 4.34 GB (3%)
Configured Capacity : 6.5 TB DFS Used : 4.3 TB Non DFS Used : 374.29 GB DFS Remaining : 1.84 TB DFS Used% : 66.09 % DFS Remaining% : 28.29 % Live Nodes : 6 Dead Nodes : 0 DFS Used 的大小 等于 所有 dfs.data.dir 空间大小之和 回复 3# 摩西莫西
产生这个结果的原因呢是这样的:在运行job时,会产生一系列的中间数据和临时数据,这些数据时临时存放在dfs.data.dir对应的逻辑路径:hdfs://data/下的。
如果这个job成功运行完毕了,那么放在/data下的数据会自动清除掉。
但是
如果是非正常的终止掉job(例如:当一个job运行到一半时,把这个job kill掉)
那么已经产生的临时数据就会存留在/data中,不能够自动清除,从而导致空间增加。
在这种情况下只要 hadoop fs -rmr /data/ 就可以解决。
需要说明的是:在默认情况下dfs.data.dir是/tmp,这个是由liunx系统定期清除的,当这个路径必须要被覆盖,
因为在这个路径下存储了所有的数据块,包括临时数据的数据块。 至于如何自动清除这种由于非正常终止job而产生的临时数据,我还不知道有什么样的好办法。不知道,牛人们有何方法呢吗? 回复摩西莫西
DFS Used 的大小 等于 所有 dfs.data.dir 空间大小之和 回复 7# mingyuan
是的。DFS Used 大小 约稍大于 fs -du 的总大小的3倍(如果dfs.replication = 3) 回复 8# 摩西莫西
原来DFS Used显示的是文件在整个集群中所占空间阿.谢谢摩西莫西 回复eyjian
我查看了下hadoop fs -du /
918595768022hdfs://s10-opdev-wps.rdev.kingsoft.net:9 ...
摩西莫西 发表于 2010-2-26 10:58
http://www.hadoopor.com/images/common/back.gif
Cluster Summary77646 files and directories, 65776 blocks = 143422 total. Heap Size is 153 MB / 4.34 GB (3%)
这个用什么命令看的吗?
页:
[1]