2

アプリケーションに合わせて HDFS のデフォルトのブロック配置戦略を変更したいと考えています。
たとえば、file1(128MB) と file2(128MB) という 2 つのファイルがあります。ブロック サイズが 64MB の場合、各ファイルは 2 つのブロックに分割されます。

file1 と file2 の両方の block1 が同じデータノードに配置されていることを確認したいと思います。可能であれば、レプリカも同じデータノードのセットに配置されるようにしたいと思います。

質問 1. これは可能ですか? もしそうなら、ソースコードのどのクラスを変更する必要がありますか? 質問 2. copyFromLocal

などのコマンドは、hadoop ソース コード内の関数にどのようにマッピングされていますか?

4

1 に答える 1

4

ブロック配置ポリシーのデフォルトの動作は、BlockPlacementPolicyインターフェイスを拡張し、クラスがHadoop 構成ファイルのdfs.block.replicator.classnameプロパティを指すようにすることで変更できます。

Hadoop 操作は特定のノードに関連付けられていないため、Hadoop は分散コンピューティングに固有の問題に対してより回復力があります。特定のノードで 2 つのファイルのブロックを持つための要件は何ですか? 要件が分かっていれば、より良い解決策を見つけることができます。

于 2013-01-24T12:00:42.743 に答える