【发布时间】:2017-10-07 09:35:31
【问题描述】:
我正在运行作为 Spark 安装一部分的内置示例示例,并在带有 JDK 8 的 Hadoop 2.7 + Spark 中运行。但是它给了我以下错误:
线程“主”java.lang.OutOfMemoryError 中的异常:无法分配 新的 DoublePointer(10000000):totalBytes = 363M,physicalBytes = 911M
在 org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:187) 在 org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:212) 在 org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:126) at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 引起:java.lang.OutOfMemoryError: 物理内存使用量太大 高:physicalBytes = 911M > maxPhysicalBytes = 911M 在 org.bytedeco.javacpp.Pointer.deallocator(Pointer.java:572) 在 org.bytedeco.javacpp.Pointer.init(Pointer.java:121)
我也按照以下 SO question 进行了配置更改。
除此之外,我还提到了这些链接:YARN-4714,HADOOP-11090
在 JDK 8 中运行 Spark 是否有任何问题。
以下是我在简单集群中运行的软件版本:
jdk-8u131-linux-x64
scala-2.12.2
spark-2.1.1-bin-without-hadoop
hadoop-2.7.0
当我在 JDK 7 中运行程序时有一件事,它运行良好,但在 JDK 8 中却失败了。
有没有人遇到过这个问题,如果有,解决方法是什么? hadoop , spark, scala 不是还不能兼容JDK 8吗?
谁能帮帮我?
【问题讨论】:
-
Java 8 没有常量池,尝试在 JVM 8 上增加 Xmx
-
@T.Gawęda:谢谢你们的cmets,你能详细说明一下吗?
-
抱歉 - 这是 PermGen ;) 关于更改的文章 karunsubramanian.com/websphere/…
-
感谢您的信息!
-
你可以尝试通过在 spark-defaults.conf spark.driver.extraJavaOptions -Xmx1024M spark.executor.extraJavaOptions -Xmx1024M 中设置以下来增加内存
标签: java scala hadoop apache-spark