【问题标题】:spark with high memory - use multiple executors per node?具有高内存的火花 - 每个节点使用多个执行器?
【发布时间】:2017-04-06 18:15:52
【问题描述】:

如果我有可能为 spark 配置大量内存 - 我应该使用多少内存?

有人说超过 32 GB / executor 的内存将没有帮助,因为 JVM 地址无法压缩)。

假设我可以为 spark /node 提供大约 200 GB 的内存,我是否应该为每个 32 GB RAM 创建一个执行程序,即每个工作人员有多个执行程序?还是每个节点拥有大量 RAM 更好?

【问题讨论】:

    标签: apache-spark memory heap-memory


    【解决方案1】:

    理想情况下,我们应该使用多个执行器,每个执行器大约 32GB 或更少(即 16、17、18...),而不是使用一个具有 200GB 内存的执行器。

    为了更好的吞吐量,建议每个执行器使用 3 到 5 个核心,而不是每个执行器 10 或 15 个核心(I/O 问题)。考虑到最好使用 32GB 或更少,这样每个内核将处理大约 5 到 6GB 而不是 10 到 20GB。

    参考。

    http://site.clairvoyantsoft.com/understanding-resource-allocation-configurations-spark-application/

    https://github.com/vaquarkhan/vaquarkhan/wiki/How-to-calculate-node-and-executors-memory-in-Apache-Spark

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-28
      • 1970-01-01
      • 1970-01-01
      • 2019-07-01
      相关资源
      最近更新 更多