【问题标题】:Spark UI Showing Wrong Memory AllocationSpark UI 显示错误的内存分配
【发布时间】:2021-02-09 09:48:40
【问题描述】:

我们目前遇到了一个问题,Spark 显示我们的每个节点只有 4GB 内存。但是,我们通过设置spark-worker.jvmOptions = -Xmx10g 分配了10GB 的内存。我们无法弄清楚是什么导致了这种异常限制/不正确的内存分配。

当我们运行 spark 作业时,它会像每个工作人员只有 4GB 内存一样运行。

任何帮助都会很棒!谢谢!

Screenshot of SOLR UI

【问题讨论】:

    标签: apache-spark


    【解决方案1】:

    您应该在 spark-submit 中使用:--executor-memory 设置工作内存

    【讨论】:

    • 我不认为---executor-memory 会是解决方案。这应该设置为最好地优化火花作业。比如有 64GB 的内存,那么 ---executor-memory 应该设置为 19GB 之类的……更多有趣的细节在下面的链接中。 blog.cloudera.com/how-to-tune-your-apache-spark-jobs-part-2 这个问题更多的是实际的 Spark 服务器无法识别使用 jvm 属性分配给它的内存。
    【解决方案2】:

    尝试在 conf/spark-defaults.conf 文件中设置以下参数:

    spark.executor.memory           10g
    

    【讨论】:

    • spark.executor.memory 配置实际上与---executor-memory 的 spark-submit 参数做同样的事情。因此它不会影响分配给 JVM 的内存量,而只会影响作业中的执行程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-29
    • 2016-09-29
    相关资源
    最近更新 更多