0

我在一些 aws 实例上运行 HDFS (0.20.2)。我强制 HDFS 将文件的所有块写入一个数据节点(通过将复制减少到 1 并仅添加 1 个数据节点)。

在本地访问文件(在存储块的数据节点上)或从集群中的另一台主机访问文件时,我没有看到任何显着的性能差异。本质上,执行 copyToLocal 所花费的时间与我在本地数据节点或任何其他机器上的时间完全相同(通过 JAVA-API 访问也是如此)不应该有区别吗?

该文件的大小为 3.5 GB,块大小为 128MB(如果这很重要)。普通中等实例的实例。

更新

谢谢您的建议,但实际问题仅发生在小型或中型实例上,而在大型实例上,我得到了预期的行为(因此本地访问明显更快~20s vs ~40s)。

4

1 回答 1

0

不完全确定我理解这个问题,但您可能对HDFS-2246感兴趣,当块位于数据节点本地时,它可以加快读取速度。1.0.0 发行说明和此HBaseCon 2012 演示文稿中也提到了它。

于 2012-08-11T19:51:51.670 回答