哪种工具是测量HDFS空间消耗的正确工具?
当我总结"hdfs dfs -du /“的输出时,与"hdfs dfsadmin -report”("DFS Used“行)相比,我总是得到较少的空间量。有没有du没有考虑的数据?
发布于 2015-11-04 17:41:38
Hadoop文件系统通过将数据拷贝放到多个节点来提供重新标记存储。副本的数量是复制因子,通常是大于1。
Command hdfs dfs -du /显示在不进行复制的情况下占用数据的空间。
命令hdfs dfsadmin -report (使用DFS行)显示考虑数据复制的实际磁盘使用情况。因此,当从dfs -ud命令获取数字时,它应该是几倍大。
发布于 2016-03-15 14:15:02
HDFS存储的工作原理简介:
Let say replication factor = 3 (default)
Data file size = 10GB (i.e xyz.log)
HDFS will take 10x3 = 30GB to store that file根据您使用的命令类型,您将获得不同的HDFS占用空间值(10 vs与30 vs)
如果您使用的是最新版本的Hadoop,请尝试以下命令。在我的例子中,这在Hortonworks Data Platform (HDP) 2.3.*及更高版本上工作得很好。这也应该适用于cloudera的最新平台。
hadoop fs -count -q -h -v /path/to/directory(-q =配额,-h =人类可读的值,-v =详细)
此命令将在输出中显示以下字段。QUOTA REMAINING_QUOTA SPACE_QUOTA REMAINING_SPACE_QUOTA DIR_COUNT FILE_COUNT CONTENT_SIZE FILE_NAME
哪里
CONTENT_SIZE = real file size without replication (10GB) and
SPACE_QUOTA = space occupied in HDFS to save the file (30GB)注意:这里控制复制因子:修改默认hadoop安装目录conf/ dir下hdfs-site.xml文件中的"dfs.replication“属性。如果您有多节点集群,建议使用Ambari/Cloudera Manager更改此设置。
还有其他命令可以检查存储空间。例如hadoop fsck,hadoop dfs -dus,
https://stackoverflow.com/questions/33517658
复制相似问题