【问题标题】:How do the yarn and spark parameters interplay together?yarn 和 spark 参数如何相互作用?
【发布时间】:2022-11-27 15:17:05
【问题描述】:

有一些参数决定了 yarn 可以通过容器分配的内存和 cpu 的最大值、最小值和总计

例子:

yarn.nodemanager.resource.memory-mb

yarn.scheduler.maximum-allocation-mb

yarn.scheduler.minimum-allocation-mb

yarn.nodemanager.resource.cpu-vcores

yarn.scheduler.maximum-allocation-vcores

yarn.scheduler.minimum-allocation-vcores

还有似乎可以控制类似类型分配的 spark 端参数:

火花执行器实例

火花执行器内存

火花.executor.cores

ETC

当两组参数根据另一组设定的界限不可行时会发生什么。例如:如果 yarn.scheduler.maximum-allocation-mb 设置为 1G 而 spark.executor.memory 设置为 2G 会怎么样?对于其他参数也可以想象类似的冲突和不可行性。

在这种情况下会发生什么?并且,设置这些参数的建议方法是什么?

【问题讨论】:

  • 为什么这个问题被投票关闭?

标签: apache-spark pyspark mapreduce hadoop-yarn


【解决方案1】:

When running Spark on YARN, each Spark executor runs as a YARN container

所以以 spark.executor.memory 为例:

  • 如果 spark.executor.memory 是 2G 和 yarn.scheduler.maximum-allocation-mb 是 1G,那么你的容器将是 OOM 杀手
  • 如果 spark.executor.memory 是 2G 而 yarn.scheduler.minimum-allocation-mb 是 4G,那么你的容器比 Spark 应用程序需要的大得多

设置参数的建议取决于您的硬件资源和本机上运行的其他服务。可以先尝试使用默认值,然后通过监控机器资源进行调整

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-23
    • 1970-01-01
    • 2016-01-18
    • 1970-01-01
    • 2017-07-25
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    相关资源
    最近更新 更多