dfs.blocksize 和 BlockCapacity 的值不同

Value of dfs.blocksize and BlockCapacity is different

NameNode 的 REST 响应中给出的 BlockCapacity 与我们在 HDFS 下的 Ambari 中设置的不同 dfs.blocksize.

正在使用以下 REST 请求获取块容量

https://<namenode-ip>:50470/jmx?qry=Hadoop:service=NameNode,name=FSNamesystem

我得到的 BlockCapacity 值为 2097152,相当于 2MB。

Ambari 中 dfs.blocksize 的值默认为 128MB。

来自 NameNode REST API 响应的 BlockCapacity 和来自 Ambari 的 dfs.blocksize 是相同还是不同?

BlockCapacity是指HDFS可以容纳的块总数。该值是根据分配的 Namenode 的堆大小计算的。可以根据为 dfs.replicationdfs.blocksize 配置的值和总 DFS 容量导出所需的堆大小。

找到的示例 here 描述了这些配置如何帮助确定名称节点的堆大小,从而确定块容量。

在这种情况下,文件系统总共可以容纳 2097152 个块(不包括复制),每个块的最大大小配置为 dfs.blocksize