当前位置: 首页 > 知识库问答 >
问题:

Spark on Yarn:执行器内存少于通过spark-submit设置的内存

龚奕
2023-03-14

我在纱线簇(HDP 2.4)中使用Spark,设置如下:

  • 1主节点
    • 64 GB RAM(48 GB可用)
    • 12核(8核可用)
    • 每个64 GB RAM(48 GB可用)
    • 每个12核(8核可用)
      null

共有1个答案

屈俊远
2023-03-14

UI中的storage memory列显示用于执行和RDD存储的内存量。默认情况下,这等于(HEAP_SPACE-300MB)*75%。其余的内存用于内部元数据、用户数据结构和其他填充。

您可以通过设置spark.memory.fraction(不推荐)来控制此数量。请参阅Spark的文档

 类似资料:
  • 我已经将spark.executor.memory设置为2048M,在UI“环境”页面中,我可以看到这个值已经设置正确。但是在“executors”页面中,我看到只有一个executor,它的内存是265.4MB。非常奇怪的价值。为什么不是256MB,或者就像我设定的那样?

  • 我是一个新的spark框架,我想知道什么是驱动内存和执行器内存?从两者中获得最大性能的有效方法是什么?

  • null null 为了进行简单的开发,我使用在独立集群模式下(8个工作者、20个内核、45.3G内存)执行了我的Python代码。现在我想为性能调优设置执行器内存或驱动程序内存。 在Spark文档中,执行器内存的定义是 每个执行程序进程使用的内存量,格式与JVM内存字符串相同(例如512M、2G)。

  • 如何增加Apache spark executor节点可用的内存? 我有一个2 GB的文件,适合加载到Apache Spark。我目前正在1台机器上运行apache spark,因此驱动程序和执行程序在同一台机器上。这台机器有8 GB内存。 我尝试了这里提到的各种东西,但我仍然得到错误,并没有一个明确的想法,我应该改变设置。 我正在从spark-shell交互地运行我的代码

  • 1)谁能解释一下为什么显示的是31GB而不是60GB。2)还有助于为上述参数设置最佳值。