Hadoop 块大小是 Hadoop 存储概念。每次当您在 Hadoop 中存储文件时,它都会根据块大小进行划分,并根据复制因子和数据位置将其分布在整个集群中。
详情:
当你在 HDFS 上推送一个文件时,它会被分成块。每个块就像一个单独的文件,具有由块大小描述的最大大小。
每个块都将包含一个 .meta 文件,用于在 Hadoop 上存储块的元数据信息。
如果文件非常小,那么整个文件将在一个块中,并且该块(一个存储文件)将具有与文件和元文件相同的大小。
一些命令:
(目录是根据我的集群 - /data2/dfs/dn/):
块大小:1 GB
cd /data/dfs/dn -> current -> Finalized -> subDir0 -> (这里是 Gold )
块仅使用 KB 的存储空间来存储小文件,或者可能是当文件大小是我的块大小 + 一些 KB 时
-rw-r--r-- 1 hdfs hdfs 91K Sep 13 16:19 blk_1073781504
-rw-r--r-- 1 hdfs hdfs 19K Sep 13 16:21 blk_1073781504_40923.meta
当文件较大时,块大小将如下所示
-rw-r--r-- 1 hdfs hdfs 1.0G 8 月 31 日 12:03 blk_1073753814
-rw-r--r-- 1 hdfs hdfs 8.1M 8 月 31 日 12:04 blk_1073753814_12994.meta
我希望它能解释块存储的东西。如果您想知道您的文件如何存储在块中的详细信息,请运行
hdfs fsck -blocks -locations
如果我在这里遗漏了什么,请告诉我。