0

一部の aws インスタンスで HDFS (0.20.2) を実行しています。HDFS に、ファイルのすべてのブロックを 1 つのデータノードに書き込むように強制しました (レプリケーションを 1 に減らし、1 つのデータノードのみを追加することにより)。

ローカル (ブロックが保存されているデータノード上) またはクラスター内の別のホストからファイルにアクセスする場合、パフォーマンスに大きな違いは見られません。基本的に、copyToLocal を実行するのにかかる時間は、local-datanode にいる場合でも他のマシンにいる場合でもまったく同じです (JAVA-API を介してアクセスする場合も同じことが言えます) 違いはありませんか?

ファイルのサイズは 3.5 GB で、ブロック サイズは 128 MB です (これが重要な場合)。通常のミディアム インスタンスのインスタンス。

アップデート

ご提案ありがとうございますが、実際の問題は小規模または中規模のインスタンスでのみ発生しますが、大規模なインスタンスでは予想される動作が得られます (したがって、ローカルアクセスは ~20 秒と ~40 秒で大幅に高速になります)。

4

1 に答える 1

0

質問を完全に理解しているとは言えませんが、ブロックがデータノードに対してローカルである場合に読み取りを高速化するHDFS-2246に興味があるかもしれません。これは、 1.0.0 リリース ノートおよびこのHBaseCon 2012 プレゼンテーションでも言及されています。

于 2012-08-11T19:51:51.670 に答える