3

私は、マシンのタイプに応じてEMRがクラスタに与えるデフォルト値を変更する方法を見てきました。クラウドフォーメーションテンプレートのEMRクラスターにmapreduce.reduce.memory.mbプロパティーを追加するにはどうすればいいですか?

私の場合は、m4.largeがマスター、c3.2xlargeがコアであり、同じものがタスクのためのかなり基本的な設定です。このプロパティのEMRがタスク内で設定する値は2880http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/TaskConfiguration_H2.html)です。しかし、私はこのデフォルト値を増やす必要があります。

私はクラウドフォーメーションテンプレートでこのデフォルト設定を変更しようとしていましたが、何らかの理由でそれを受け入れませんでした。これは私がCFテンプレートに追加するものです。私はこのオンラインの例を見つけることができません。

"Configurations" : [{ 
     "Classification": "mapred-site", 
     "Properties": { 
     "mapreduce.reduce.memory.mb": "4096" 
    }}] 

ご協力いただけると助かります。

+0

を答えは以下の質問を解決した場合は、[承認済みとしてマークして]を忘れないでください(http://meta.stackexchange.com/a/5235/327137)。あなたの質問にまだ答えがない場合は、他の人があなたの質問にうまく答えるように詳細を記入してください。 – wjordan

+0

@wjordanありがとう、あなたはちょっと私にいくつかのポイントを追加しました。 = D – Kristian

答えて

1

私の解決策はキー名をPropertiesからConfigurationPropertiesに変更することでした。CFの構文がEMRの設定セクション内で使用するものとは少し異なるためです。

これを試してみてください:

"Configurations": [ 
    { 
     "Classification": "mapred-site", 
     "ConfigurationProperties": { 
     "mapreduce.reduce.memory.mb": "4096" 
     }, 
     "Configurations": [] 
    } 
] 
+1

ありがとう!これは実際にはうまくいきましたが、私の特定のケースではデフォルト値を低くしておく必要がありましたが、一部のジョブでは4096にしか設定されませんでした。私が使用しているアプリケーション固有のシナリオでこれを設定する方法を発見しました(ドルイドバッチ処理)。 – jonordona

関連する問題