2017-06-02 8 views
0

私はGoogle Cloudでクラスタを作成していますが、使用するマシンの数と各マシン上のコアの数を選択するように求めました。 MapReduceジョブを実行したい場合は、それぞれ1コアの8台のマシンを要求し、それぞれに4つのコアを備えた2台のマシンを求めるのは、実際的な違いですか?MapReduceジョブの場合、コアが4つのマシンを1つ使用していて、コアが1つのマシンを4つ使用していますか?

答えて

2

タイトルと本文の質問が異なります。

4x1coreと1x4coreのいずれかを選択すると、後者はデータローカリティの利点があります。マッパーとレデューサーの間でデータ転送が行われず、すべてのデータが同じマシン上にあります。

考慮すべきもう1つの重要な要素は、RAMの量です。 16GBのRAMを搭載した1台のマシンと2GBのRAMを搭載した8台のマシンのどちらかを選択する必要がある場合、最初のオプションを選択する方がよいでしょう。アルゴリズムによってはメモリにたくさんのものをロードする必要があります。それらを実行します。

最後に覚えておきたいこと:クラスタ内のすべてのマシンに対して同じ設定をすることが重要です。そうでなければ、以前に完了し、遅いものを待つでしょう。クラスタが大きくなる場合は、今すぐ最適な構成を選択してください。

短いストーリー:ほとんどのシナリオでは、上位ティアマシンの方がパフォーマンスが向上します。可能であれば選択してください。

+0

この情報をお寄せいただきありがとうございました。また、マシンに4つのコアがある場合、4つのマッパーを同じマシンで実行することは可能ですか?すべてのコアを使うために何か特別なことはありますか、それともHadoopが自動的に行うのでしょうか? – Jessica

+0

@ジェシカはい、可能です。通常、マッパーはジョブの開始前にマザーリソースを宣言しているので、マッパーはデフォルトで2GBのRAMと1つのコアを必要とし、16GBのRAMと8つのコアがある場合、hadoopは8つのマッパーを生成します。あなたはGoogle YARN(hadoopリソースマネージャー)とそれがどのように動作するかを確認することができます。 – AdamSkywalker

+0

ありがとう@AdamSkywalker! – Jessica

関連する問題