报错

java.lang.IllegalArgumentException: System memory 259522560 must be at least 471859200. Please increase heap size using the --driver-memory option or spark.driver.memory in Spark configuration.
at org.apache.spark.memory.UnifiedMemoryManager$.getMaxMemory(UnifiedMemoryManager.scala:217)
at org.apache.spark.memory.UnifiedMemoryManager$.apply(UnifiedMemoryManager.scala:199)
at org.apache.spark.SparkEnv$.create(SparkEnv.scala:330)
at org.apache.spark.SparkEnv$.createDriverEnv(SparkEnv.scala:175)
at org.apache.spark.SparkContext.createSparkEnv(SparkContext.scala:256)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:423)
at partOne$.<init>(partOne.scala:17)
at partOne$.<clinit>(partOne.scala:141)
at partOne.main(partOne.scala)

翻译:系统内存259522560必须至少为471859200。请使用--driver-memory选项或spark增加堆大小.

该问题出现原因是因为JVM申请的​memory​不够导致无法启动​SparkContext​


解决一

通过设置SparkContext增加内存:

// 创建环境
val conf = new SparkConf()
.setAppName("log_analysis").setMaster("local[6]")
.set("spark.testing.memory", "512000000")

解决二

在idea中进行相关的配置,修改内存大小:

【Spark】java.lang.IllegalArgumentException: System memory 259522560 must be at least 471859200._apache


接着又报错:The specified size exceeds the maximum representable size.指定的大小超过了最大可表示大小。

【Spark】java.lang.IllegalArgumentException: System memory 259522560 must be at least 471859200._spark_02


【Spark】java.lang.IllegalArgumentException: System memory 259522560 must be at least 471859200._java_03