1

运行时sparkling-shell

bin/sparkling-shell

出现以下错误:

org.apache.spark.SparkException: Asked to launch cluster with 2048 MB RAM / worker but requested 20480 MB/worker

我们在 中设置了以下内容spark-env.sh

export SPARK_WORKER_MEMORY=108GB
export SPARK_WORKER_INSTANCES=4

以及以下内容spark-defaults.conf

spark.executor.memory   20g
spark.driver.memory     8g

我们可以让 shell 启动的唯一方法是将工作内存重置为 2GB:

spark.executor.memory   2g

但这根本不足以运行我们的工作。有人找到解决此问题的方法吗?

4

2 回答 2

0

您的 spark-defaults.conf 文件中有错字:

spark.executor.memory   20g
spark.driver.memory     8g

这里 spark.executor.memory 设置为 20g(20 GB = 20480 mb),转换为每个工作节点 20480 mb。因此错误-->

org.apache.spark.SparkException: Asked to launch cluster with 2048 MB RAM / worker but requested 20480 MB/worker

它说你已经要求形成每个工人 20480 mb 的集群。

您应该将spark.executor.memory 20gspark-defaults.conf 文件编辑为spark.executor.memory 2g

如果您想增加每个工作人员的内存,只需将 2g 更改为您想要的挂载。

还相应地编辑 spark-env.sh,如下所示:

export SPARK_WORKER_MEMORY=108GB
export SPARK_WORKER_INSTANCES=4

将为每个节点创建 4 个工作实例,每个实例具有 1 GB 内存。

因此,如果您想要例如每个节点 4gb,那么在 spark-env.sh

export SPARK_WORKER_MEMORY=4g
export SPARK_WORKER_INSTANCES=1

和 spark-defaults.conf 为:

spark.executor.memory   4g
spark.driver.memory     8g
于 2017-05-18T05:44:08.657 回答
0

请问您的MASTER环境变量的内容是什么?

如果您设置MASTER"local-cluster[numOfExecutors,numOfExecutorCores,numOfExecMemory]"位置numOfExecMemory低于您在 spark-defaults 文件中的内存请求,则可能会发生这种情况。

于 2016-04-20T11:09:28.903 回答