【问题标题】:sbt won't assemble Sparksbt 不会组装 Spark
【发布时间】:2014-09-11 01:17:58
【问题描述】:

我在使用机器上的 sbt 组装 Spark 时遇到问题。 在不分配额外内存的情况下尝试组装,垃圾收集器会用完或超时;在我尝试过的不同时间,确切的问题有所不同。但是,任何通过 Xmx 或 Xms 修改分配的内存的尝试,无论是给予更多还是限制,都会失败,因为 sbt 无法将 -Xmx 或 -Xms 识别为命令。

这是我一直在尝试的那种命令的示例(来自 Spark 的源目录):

sbt -Xmx2g assembly

这是我收到的错误:

java.util.concurrent.ExecutionException:java.lang.OutOfMemoryError: GC overhead limit exceeded
Use 'last' for the full log.
Not a valid command: Xmx2g
Not a valid project: Xmx2g
Expected ':' (if selecting a configuration)
Not a valid key: Xmx2g
Xmx2g
     ^

我正在运行 64 位 Java,版本 1.8.0_20。

【问题讨论】:

    标签: java memory-management command-line sbt apache-spark


    【解决方案1】:

    尝试创建一个新的环境变量SBT_OPTS,其值为"-XX:MaxPermSize=1024m"。这应该为 sbt 提供所需的内存而不会产生错误。

    【讨论】:

      【解决方案2】:

      查看文档:Building Spark with Maven

      设置 Maven 的内存使用情况

      您需要通过设置 MAVEN_OPTS 来配置 Maven 以使用比平时更多的内存。我们推荐以下设置:

      导出 MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"

      然后你可以用:

      mvn -DskipTests package
      

      【讨论】:

        猜你喜欢
        • 2014-06-05
        • 1970-01-01
        • 2021-03-24
        • 2013-03-23
        • 2021-12-06
        • 2015-04-03
        • 2016-06-05
        • 2017-01-30
        • 2019-03-12
        相关资源
        最近更新 更多