2016-11-24 52 views
3

我一直在關注如何修改EMR給予集羣的默認值,具體取決於它所在的機器類型。如何將mapreduce.reduce.memory.mb屬性添加到Cloud Formation模板中的EMR集羣?

在我的情況下,這是一個非常基本的設置m4.large作爲主和c3.2xlarge作爲核心和相同的任務。 EMR在該任務中爲此屬性設置的值爲2880(來自http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/TaskConfiguration_H2.html)。但是,我需要增加這個默認值。

我一直在嘗試在我的Cloud Formation模板中更改此默認配置,但由於某種原因它不接受它。這是我添加到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

相關問題