2012-06-25 19 views
8

実行しているマシンが非常に異なる場合、Hadoopのパフォーマンスが大きく低下することがありますが、そのコメントはもう見つからないようです。自分のグループで直接管理されていないVMのアレイ上でHadoopクラスタを実行することを検討しています。これが私の要求に応じる必要があるかどうかを知る必要があります。同じハードウェアでhadoopクラスタを実行する必要がありますか?

同じハードウェアを持つすべてのマシンを主張するか、別のハードウェア構成で異なるマシンで実行することはできますか?

ありがとうございました。

答えて

12

以下の論文は、異種クラスタは、のHadoopのパフォーマンスをどのように影響するかを説明するマップを、減らす:

を異種クラスタでは、ノードのコンピューティング能力は 著しく異なる場合があり。高速ノードは、ノードのローカルディスクに格納されている処理データを低速対応ノードより速く処理できます。 高速ノードがローカル入力データの処理を完了した後、ノード は、 以上のリモート低速ノードにある未処理データを処理することによって負荷分散をサポートする必要があります。 ロードシェアリングによる転送データ量が非常に大きい場合、処理されていないデータ を低速ノードから高速ノードに移動するオーバーヘッドは、Hadoopのパフォーマンスに影響する重要な問題になります。

以下の参考文献は、より多くの詳細を持っている:それはまた、あなたが異種クラスタ上のパフォーマンスを向上させるか、このパフォーマンスの低下を避けるできる方法を提供

  1. http://computerresearch.org/stpr/index.php/gjcst/article/view/749/658
  2. http://www.usenix.org/event/osdi08/tech/full_papers/zaharia/zaharia.pdf

を。

クラスタに均質なマシンがあることを推奨しますが、これらのマシンの仕様や性能に大きな違いがない場合は、クラスタを構築する必要があります。

生産システムでは、均質マシンを推奨する必要があります。開発のために、パフォーマンスは重要ではありません。

これまで構築したHadoopクラスターをベンチマークすることは可能です。

+0

これは良いアドバイスです、ありがとう! – ILikeFood

2

均質なクラスタは確かに理想的ですが、厳密には必要ではありません。たとえば、Yahoo!、Inc.は、その生産環境で異機種クラスタを実行します。研究者と話すことで、スケジューリングの問題(パフォーマンス認識スケジューリングをツールに追加するのに十分なヒット)でパフォーマンスが低下することが判明しましたが、ペナルティは致命的ではありません。

関連する問題