hdfs空间消耗:“hdfs dfs-du/”与“hdfs dfsadmin-report”

djp7away  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(666)

哪种工具是测量hdfs空间消耗的合适工具?
当我总结“hdfs dfs-du/”的输出时,我总是得到比“hdfs dfsadmin-report”(“dfs used”行)更少的空间消耗量。是否有du未考虑的数据?

oalqel3c

oalqel3c1#

hadoop文件系统通过将一个数据副本放到多个节点上,提供了一个重新标记存储。拷贝数是一个复制因子,通常它比一个大。
命令 hdfs dfs -du / 显示在不进行复制的情况下占用数据的空间。
命令 hdfs dfsadmin -report (行dfs used)显示实际磁盘使用情况,考虑到数据复制。所以当数字从 dfs -ud 命令。

jvlzgdj9

jvlzgdj92#

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=详细)
此命令将在输出中显示以下字段。剩余配额\u配额空间\u配额剩余空间\u配额目录\u计数文件\u计数内容\u大小文件\u名称
哪里

CONTENT_SIZE = real file size without replication (10GB) and 
SPACE_QUOTA = space occupied in HDFS to save the file (30GB)

注意:此处控制复制因子:修改hdfs-site.xml文件中默认hadoop安装目录conf/dir下的“dfs.replication”属性。如果您有多节点集群,建议使用ambari/cloudera管理器更改此设置。
还有其他命令可以检查存储空间。e、 hadoop fsck,hadoop dfs-dus,

相关问题