hdfs如何计算可用块?

moiiocjp  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(452)

假设块大小为128mb,集群有10gb(大约80个可用块)。假设我已经创建了10个小文件,它们在磁盘上总共占用128mb(块文件、校验和、复制…)和10个hdfs块。如果我想在hdfs中添加另一个小文件,那么hdfs使用什么来计算可用的块呢?使用的块还是实际的磁盘使用量?
80块-10块=70个可用块还是(10 gb-128 mb)/128 mb=79个可用块?
谢谢。

ohtdti5x

ohtdti5x1#

块大小只是指示hdfs如何在集群中拆分和分发文件—hdfs中没有物理保留的块数(如果需要,可以更改每个文件的块大小)
例如,您还需要考虑复制因子和校验和文件,但从本质上讲,添加大量小文件(小于块大小)并不意味着浪费了“可用块”—它们占用了所需的空间(您需要再次记住,复制将增加存储文件所需的物理数据占用空间),“可用块”的数量将更接近第二个块计算。
最后一点要注意的是,将大量文件转换为小文件意味着您的名称节点将需要更多的内存来跟踪它们(块大小、位置等),处理128x1mb文件的效率通常低于单个128mb文件(尽管这取决于您如何处理它)

相关问题