HDFS概述(2)————Block块大小设置

参考:

HDFS概述(4)————HDFS权限

 HDFS概述(3)————HDFS Federation

 HDFS概述(2)————Block块大小设置

 HDFS概述(1)————HDFS架构

问题

Q: 一个常被问到的一个问题是: 如果一个HDFS上的文件大小(file size) 小于块大小(block size) ,那么HDFS会实际占用Linux file system的多大空间?

A: 答案是实际的文件大小,而非一个块的大小。


以下内容转自:

http://blog.csdn.net/samhacker/article/details/23089157?utm_source=tuicool&utm_medium=referral

http://snglw.blog.51cto.com/5832405/1643587


实验:

------------------------------------------------------------------------

    1. 往hdfs里面添加新文件前,Hadooplinux上面所占的空间为 464 MB 

        du -sh /hadoop/hdfs/data/    

    2. 往hdfs里面添加大小为2673375 byte(大概2.5 MB)的文件

    3. 此时,hadoop在linux上面所占的空间为 467 MB——增加了一个实际文件大小(2.5 MB)的空间,而非一个block size(128 MB)

        du -sh /hadoop/hdfs/data/    

    4. 使用hadoop dfs -stat查看文件信息: 


这里就很清楚地反映出: 文件的实际大小(file size)是2673375 byte, 但它的block size是128 MB。

    5. 通过NameNode的web console来查看文件信息: 


结果是一样的: 文件的实际大小(file size)是2673375 byte, 但它的block size是128 MB。

    6. 不过使用‘hadoop fsck’查看文件信息,看出了一些不一样的内容——  ‘1(avg.block size 2673375 B)’: 

值得注意的是,结果中有一个 ‘1(avg.block size 2673375 B)’的字样。这里的 'block size' 并不是指平常说的文件块大小(Block Size)—— 后者是一个元数据的概念,相反它反映的是文件的实际大小(file size)。


posted @ 2017-07-08 17:39  liango  阅读(664)  评论(0编辑  收藏  举报