私はスパークのインストールの一部として付属するサンプル例に建てられ、およびJDK 8でスパーク+ Hadoopの2.7で実行して実行していますが、それは私に次のエラーを与えている:JDK 8でスパークベースのアプリケーションが失敗していますか?
Exception in thread "main" java.lang.OutOfMemoryError: Cannot allocate new DoublePointer(10000000): totalBytes = 363M, physicalBytes = 911M
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:187) at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:212) at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:126) at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) Caused by: java.lang.OutOfMemoryError: Physical memory usage is too high: physicalBytes = 911M > maxPhysicalBytes = 911M at org.bytedeco.javacpp.Pointer.deallocator(Pointer.java:572) at org.bytedeco.javacpp.Pointer.init(Pointer.java:121)
私はSO questionを次のように続きます同様に、設定が変更されました。
HADOOP-11090はJDK 8に以下
をスパークを実行しているのいずれかの問題がある私はソフトウェアのバージョンです、YARN-4714:
は、これに加えて、私は同様にこれらのリンクを参照しました私は、JDK 7でプログラムを実行すると、それが正常に動作しますが、JDK 8
で失敗しているjdk-8u131-linux-x64
scala-2.12.2
spark-2.1.1-bin-without-hadoop
hadoop-2.7.0
一つのこと:私の簡単なクラスタ内で実行されています
誰にもこの問題が発生しましたか?その場合、修正は何ですか? hadoop、spark、scalaはJDK 8とまだ互換性がありませんか?
誰でもお手伝いできますか?
Java 8には定数プールがありません。JVM 8でXmxを増やしてみてください。 –
@T.Gawęda:ご意見ありがとうございます。もう少し詳しく教えてください。 – CuriousMind
申し訳ありません - PermGenでした;)変更に関する記事http://karunsubramanian.com/websphere/one-important-change-in-memory-management-in-java-8/ –