hadoop - 关于 block 大小的查询

标签 hadoop hdfs

关于 HDFS,我从他们网站的数据复制部分(链接下方)读到

http://hadoop.apache.org/docs/r1.2.1/hdfs_design.html#Data+Replication

'文件中的所有 block 除了最后一个 block 都是相同的大小'

你能告诉我最后一个 block 大小不同的原因是什么吗?

总内存分配可能在这里发挥作用吗?

但是,如果内存大小不是问题,最后一个 block 的大小是否仍然与文件的其余 block 大小不同?

如果是,您能否详细说明一下?

任何与 JIRA 相关的开发工作链接都将不胜感激。

最佳答案

其实这根本不是问题。事实上,不确定文件的最后一个 block 是否可以具有相同的大小。

考虑一个大小为 1000 MB 的文件, block 为 128MB,然后文件将被分成 8 个 block ,其中前 7 个 block 的大小为偶数,等于 128MB。

7 个 block 的总大小为 896MB(7*128MB),因此剩余大小为 104MB(1000-896)。所以最后一个 block 的实际大小为 104 MB,其中其他 7 个 block 为 128 MB。

namenode 将为存储在 HDFS 上的文件的每个 block 分配数据 block 。对于大小小于数据 block 大小的 block ,它不会做任何考虑。

HDFS 旨在将数据 block 存储在大小相等的数据 block 中,以便名称节点可以轻松计算和维护数据节点上可用的数据 block 。

关于hadoop - 关于 block 大小的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30217316/

相关文章:

hadoop - 失败 : Error in metadata: java. lang.RuntimeException : Unable to instantiate org. apache.hadoop.hive.metastore.HiveMetaStoreClient

performance - SQOOP导出命令VS DB2 LOAD CLIENT

hadoop - Hadoop 集群交互式用户的永久 Kerberos 票证

hadoop - Falcon 在 Hadoop 生态系统中的作用

hadoop - 启动hadoop集群时的密码

hadoop - 多节点Hadoop集群HDFS压力测试

hadoop - 尝试连接到远程Hadoop NameNode Web UI时,Web浏览器超时

Hadoop - 从本地到 HDFS 的递归复制/放置

hadoop - 是否可以在不设置HDFS的情况下运行Hadoop流应用程序?

java - 使用指向 HDFS 的 URI 创建文件实例