为什么我不能在AWS Elastic Map Reduce中更改“ spark.driver.memory”值?

时间:2019-04-11 15:43:27

标签: amazon-web-services apache-spark yarn amazon-emr

我想在AWS EMR上调整我的Spark集群,但是我无法更改默认值spark.driver.memory,这会导致每个Spark应用程序崩溃,因为我的数据集很大。

我尝试在主计算机上手动编辑spark-defaults.conf文件,并且还尝试在创建集群时使用EMR仪表板上的JSON文件直接配置它。

这是使用的JSON文件:

[
  {
    "Classification": "spark-defaults",
    "Properties": {
      "spark.driver.memory": "7g",
      "spark.driver.cores": "5",
      "spark.executor.memory": "7g",
      "spark.executor.cores": "5",
      "spark.executor.instances": "11"
      }
  }
]

使用JSON文件后,可以在“ spark-defaults.conf”中正确找到配置,但是在Spark仪表板上,“ spark.driver.memory”的默认值始终为1000M,而其他值已正确修改。有人遇到过同样的问题吗? 预先谢谢你。

1 个答案:

答案 0 :(得分:0)

您需要设置

  

maximizeResourceAllocation = true

在spark-defaults设置中

[
   {
    "Classification": "spark",
    "Properties": {
       "maximizeResourceAllocation": "true"
    }
  }
]