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")