gpt4 book ai didi

scala - Amazon EMR上的Spark on Yarn资源管理:如何利用所有可用核心执行Spark作业

转载 作者:行者123 更新时间:2023-12-02 20:19:13 24 4
gpt4 key购买 nike

我有一个具有以下群集配置的EMR群集上运行的spark作业:

:1:m4.2xlarge:32 GiB内存,8个vCPU。 核心:2:
m4.2xlarge:32 GiB内存,8个vCPU。 任务节点:最多52个:
r4.2xlarge:61 GiB内存,8个vCPU。

这是基于此博客的我的spark提交配置:

1:https://blog.cloudera.com/how-to-tune-your-apache-spark-jobs-part-2/

spark.yarn.executor.memory = 19g
spark.executor.cores = 3
spark.yarn.driver.memoryOverhead = 2g
spark.executor.memoryOverhead = 2g
spark.dynamicAllocation.enabled = true
spark.dynamicAllocation.minExecutors = 7
spark.dynamicAllocation.initialExecutors = 7
spark.dynamicAllocation.maxExecutors = 1000
spark.shuffle.service.enabled = true
spark.yarn.maxAttempts = 1

我正在为一个用例运行2个数据集的交叉联接。而且我正在尝试利用可以使用上述设置的群集上的所有可用内存和CPU。我能够成功利用群集中的所有可用内存,但不能成功利用 CPU 。我看到,即使可以使用 432个内核,但spark作业也可以利用,但仅使用了103个内核,如屏幕截图所示。当作业在 yarn 客户端模式(齐柏林飞艇)或 yarn 群集模式下运行时,我会看到相同的行为。

我不确定缺少什么设置或不正确。任何建议,以解决这个问题表示赞赏。 enter image description here

最佳答案

如果您在YARN ui中看到此消息,则可能必须在yarn-site.xml中添加它
yarn.scheduler.capacity.resource-calculator: org.apache.hadoop.yarn.util.resource.DominantResourceCalculator
我也有同样的困惑。实际上,在Yarn UI中使用DefaultResourceCalculator时,它仅计算内存使用情况,在后台它可能使用了1个以上的内核,但您只会看到使用了1个内核。另一方面,DominantResourceCalculator计算资源分配的核心和内存,并显示核心和内存的实际数量。

您还可以启用神经节或查看EMR指标以了解更多详细信息。

关于scala - Amazon EMR上的Spark on Yarn资源管理:如何利用所有可用核心执行Spark作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61584320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com