hadoop Spark内存分配

4ioopgfo  于 2023-08-03  发布在  Hadoop
关注(0)|答案(1)|浏览(196)

我有下面配置的Yarn集群。我正在使用spark进行跨集群操作。最多有五个并发的spark作业可以在任何时间点运行。目前,spark作业使用动态分配true属性执行,这有时会导致其他作业等待资源。我想将每个作业的资源分配固定为仅使用20%的群集资源。有人能帮我解决这个问题吗?
主节点:内存:125 G核心数:32
工作节点总数:45分配的RAM:每个节点24 GB(总共1080 GB RAM)分配的核心:每个节点8个内核(共360个内核)
我尝试了多个内存配置,但仍然使用不正确的内存/核心。

qxgroojn

qxgroojn1#

我想将每个作业的资源分配固定为仅使用群集的20%
您可以将spark.dynamicAllocation.maxExecutors(默认值为无穷大)设置为匹配总资源的20%的值。
例如,如果您总共有100个核心,您可以创建每个有5个核心的执行器,然后您将最大值设置为4。因此,您永远不会超过每个作业集群的20%。
有关动态配置的更多信息,请访问https://spark.apache.org/docs/latest/configuration.html#dynamic-allocation

相关问题