Java 无法设置火花存储器

Java 无法设置火花存储器,java,memory,apache-spark,rdd,Java,Memory,Apache Spark,Rdd,我正在尝试为本地运行的Spark应用程序设置最大内存。 我试过很多不同的方法 节目中 SparkConf conf = new SparkConf(); conf.setMaster("local[2]"); conf.setAppName("app"); conf.set("spark.executor.memory", "4G"); conf.set("spark.driver.memory", "4G"); sc = new JavaSparkContext(conf); 执行

我正在尝试为本地运行的Spark应用程序设置最大内存。 我试过很多不同的方法

节目中

SparkConf conf = new SparkConf();
conf.setMaster("local[2]");
conf.setAppName("app");     
conf.set("spark.executor.memory", "4G");
conf.set("spark.driver.memory", "4G");
sc = new JavaSparkContext(conf);
执行的时候呢?

./bin/spark-submit.cmd ./local/app.jar --master local[2] --driver-memory 4G
但我总是得到以下信息

INFO [MemoryStore] MemoryStore started with capacity 366.3 MB
火花将RDD溢出到磁盘。 Spark版本是2.0


我该怎么办?

在本地运行时,spark不会使用比java进程可用的内存更多的内存。
您应该尝试使用额外的内存vm参数运行应用程序:-Xms2048m-Xmx4096m

spark.driver.memory适用于spark 2中的本地运行实例


Spark禁止'-Xms'并将
Spark.driver.memory
转换为'-Xmx.

在本地模式下,您的执行者是您的驱动程序,因此它是堆的一小部分。 执行
spark submit
时,JVM已经启动,因此需要传入
--驱动程序内存
参数。例如:

spark-submit --driver-memory 4g --class MyClass spark-app-1.0.jar
将使用4G启动JVM


顺序似乎也很重要,即,
--驱动程序内存
需要在
--类

之前,您是否尝试过小“g”?@numX我尝试过小“g”,结果相同。这也不起作用。但是我把Spark版本改成了1.6.1,现在一切都好了。这帮了我的忙!争论的顺序确实很重要!这对我有帮助!对于PySpark,
spark submit--driver memory 30g xxx.py
工作正常,但
spark submit xxx.py--driver memory 30g
失败