Sparkローカルテスト異常のSystem memory 259522560 must be at least 471859200.
10072 ワード
Sparkローカルテスト異常を解決するSystem memory 259522560 must be at least 471859200
一、異常は以下の通り
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:332)
at org.apache.spark.SparkEnv$.createDriverEnv(SparkEnv.scala:175)
at org.apache.spark.SparkContext.createSparkEnv(SparkContext.scala:257)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:432)
at com.temptag.app.TagGenerator$.main(TagGenerator.scala:14)
at com.temptag.app.TagGenerator.main(TagGenerator.scala)
19/04/08 20:31:19 INFO SparkContext: Successfully stopped SparkContext
Exception in thread "main" 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:332)
at org.apache.spark.SparkEnv$.createDriverEnv(SparkEnv.scala:175)
at org.apache.spark.SparkContext.createSparkEnv(SparkContext.scala:257)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:432)
at com.temptag.app.TagGenerator$.main(TagGenerator.scala:14)
at com.temptag.app.TagGenerator.main(TagGenerator.scala)
二、異常原因を投げ出す
Sparkはメモリに非常に依存する計算フレームワークであり、Win環境でlocalモードを使用する場合、実際にはマルチスレッドの形式でクラスタをシミュレートして計算を行うため、コンピュータのメモリには一定の要求があり、これは典型的にコンピュータのメモリ不足によって投げ出される異常である.
三、解決方法
SparkConfを設定するときに、次のパラメータを1つ多く設定してSparkに割り当てられたメモリを指定すると、問題が解決します!
val sparkConf = new SparkConf()
.set("spark.testing.memory","2147480000")