Hadoop HDFS占用的空间:";hdfs dfs-du;vs";hdfs dfsadmin-报告“;

Hadoop HDFS占用的空间:";hdfs dfs-du;vs";hdfs dfsadmin-报告“;,hadoop,hdfs,Hadoop,Hdfs,哪种工具是测量HDFS空间消耗的正确工具 当我总结“hdfs dfs-du/”的输出时,与“hdfs dfsadmin-report”(“dfs Used”行)相比,我总是得到更少的空间消耗量。是否有du不考虑的数据?Hadoop文件系统通过将数据副本放在多个节点上,提供了重新标记存储。拷贝数是复制因子,通常比一个大 命令hdfs dfs-du/显示在不进行复制的情况下占用数据的空间 命令hdfs dfsadmin-report(使用行DFS)显示实际磁盘使用情况,并考虑数据复制。因此,当从df

哪种工具是测量HDFS空间消耗的正确工具


当我总结“hdfs dfs-du/”的输出时,与“hdfs dfsadmin-report”(“dfs Used”行)相比,我总是得到更少的空间消耗量。是否有du不考虑的数据?

Hadoop文件系统通过将数据副本放在多个节点上,提供了重新标记存储。拷贝数是复制因子,通常比一个大

命令
hdfs dfs-du/
显示在不进行复制的情况下占用数据的空间


命令
hdfs dfsadmin-report
(使用行DFS)显示实际磁盘使用情况,并考虑数据复制。因此,当从
dfs-ud
命令获取数字时,它应该会大几倍。

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占用的空间会有不同的值(10GB与30GB)

如果您使用的是最新版本的Hadoop,请尝试以下命令。在我的例子中,这在Hortonworks数据平台(HDP)2.3.*及以上版本上非常有效。这在cloudera的最新平台上也应该有效

hadoop fs -count -q -h -v /path/to/directory
(-q=配额,-h=人类可读值,-v=详细)

此命令将在输出中显示以下字段。 剩余配额\配额空间\配额剩余空间\配额目录\计数文件\计数内容\大小文件\名称

在哪里

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、

“hdfs dfs-du”在以后的hadoop版本中同时输出(无复制和有复制的大小)为什么
dfs-du-s
(字节)和
hdfs dfs-count-v
(假定内容大小字段中的字节相同)是(接近但)不相同的值?为什么
dfs-du-s-s路径1
(字节)和
hdfs dfs-count-v path1
(假定内容大小字段中的字节相同)是否(接近但)值不相同?