2017-01-04 7 views
0

EMRクラスタに必要なノードの数を確認しようとしています。ベストプラクティスの一環として推奨事項は以下のとおりです。AWS EMRパラレルマッパー?

(合計マッパープロセスに取られ、あなたの仕事+時間のために必要)/(インスタンスあたりの容量+希望時間)ここで概説として:http://www.slideshare.net/AmazonWebServices/amazon-elastic-mapreduce-deep-dive-and-best-practices-bdt404-aws-reinvent-2013、89ページ

質問AWSが公開していないのでインスタンスがサポートする並列マッパーの数を決定する方法はありますか? https://aws.amazon.com/emr/pricing/

申し訳ありませんが、私は何かが分かりませんでした。

ウェイン

答えて

1

並列マッパーの数を決定するには、EMRからこのマニュアルを確認する必要がありますEMRは、マッパー/の数を決定することになるすべてのインスタンスタイプのコンフィギュレーションの定義済みのマッピングセットを持っていたところ、タスクの設定と呼ばれます減速材。
例えば http://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hadoop-task-config.html

は、あなたが5つのm1.xlargeコアノードを考えてみましょう。 EMRのドキュメントから、そのインスタンス・タイプのデフォルトmapred-site.xmlの設定値によると、我々はあなたが単に1 m1.xlargeでサポートされているマッパーの最大数を取得するには、元の設定で、後を分割することができます

mapreduce.map.memory.mb = 768 
yarn.nodemanager.resource.memory-mb = 12288 
yarn.scheduler.maximum-allocation-mb = 12288 (same as above) 

を持っていますノード= (12288/768) = 16

したがって、5ノードクラスタの場合、最大で16*5 = 80(マップのみのジョブを考慮して)実行できるマッパーです。 max parallel Reducers(30)の場合も同じです。マッパーとレデューサーの組み合わせでも同様の計算ができます。

ですから、並行して、よりマッパーを実行したい場合は、次のいずれかを実行できre-sizeクラスタまたはmapreduce.map.memory.mb(およびそのヒープmapreduce.map.java.opts)を減らすすべてのノード上で、何を上記mapred-を理解するために

にNMを再起動しますsite.xmlのプロパティを意味し、これらの計算を行う必要がありますなぜ、あなたはここでそれを参照することができます。 https://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

:EMRはとYARN capacity schedulerを使用してデフォルトの設定にとどまる場合は、上記の計算と文が真であります。たとえば、DominantResourceCalculatorを使用するようにキャパシティスケジューラを設定する場合、VCPUの+メモリはすべてのノードで(メモリだけでなく)、マッパーの並列数を決定することになります。

+0

ありがとうございます。それは間違いなく雑草の中に隠されていた。 – Xathras

+0

喜んでそれが役立ちます。 –

関連する問題