关于 HDFS ,我从他们的网站的“数据复制”部分(以下链接)下看到:
http://hadoop.apache.org/docs/r1.2.1/hdfs_design.html#Data+Replication
“文件中的所有块,除了最后一个块都是相同大小”
您能否让我知道最后一块不是相同大小的原因是什么?
难道总的内存分配可能在这里起作用?
但是,如果内存大小不是问题,那么最后一个块是否仍将与文件的其余块大小不同?
如果是的话,请您详细说明一下吗?
任何与JIRA进行此开发工作的链接将不胜感激。
最佳答案
实际上,这根本不是问题。实际上,不确定文件的最后一块是否可以具有相同的大小。
考虑一个大小为1000 MB的文件,该块为128MB,然后将该文件分成8个块,其中前7个块的大小为偶数,等于128MB。
这7个块的总大小将为896MB(7 * 128MB),因此剩余大小将为104MB(1000-896)。因此,最后一个块的实际大小将为104 MB,其中其他7个块为128 MB。
namenode将为存储在HDFS上的文件的每个块分配数据块。它不会考虑大小小于数据块大小的块。
HDFS旨在将数据块存储在大小相等的数据块中,以便名称节点可以轻松计算和维护数据节点上可用的数据块。