火花工人记忆

B1K*_*B1K 7 apache-spark

我已经设置了一个spark(1.6)独立集群.在conf/slaves文件下有1个master并添加了3台机器作为worker.即使我已经为spark中的每个worker分配了4GB内存,为什么在应用程序运行时它只使用1024MB?我想它使用分配给它的所有4 GB.帮我弄清楚我在哪里做错了什么.

下面是spark主页面的截图(当应用程序使用spark-submit运行时),在Memory列下,它显示在4.0 GB旁边的括号中使用的1024.0 MB.

我还尝试使用spark-submit 设置--executor-memory 4G选项,但它不起作用(如何为apache spark worker更改每个节点的内存).

这些是我在spark-env.sh文件中设置的选项

导出SPARK_WORKER_CORES = 3

导出SPARK_WORKER_MEMORY = 4g

导出SPARK_WORKER_INSTANCES = 2

在此输入图像描述

小智 5

另一种解决方法是尝试在conf/spark-defaults.conf文件中设置以下参数:

spark.driver.cores              4
spark.driver.memory             2g
spark.executor.memory           4g
Run Code Online (Sandbox Code Playgroud)

一旦您设置了上述内容(仅在您的案例中的最后一行)立即关闭所有工作人员并重新启动它们。最好以这种方式初始化执行程序内存,因为您的问题似乎是没有执行程序可以分配其工作人员的所有可用内存。