spark调优之excutor-core和内存的合理配置

本文探讨了一种常见问题,即Spark任务在YARN队列中由于资源配置不当导致的任务拥堵。作者通过实测发现,过度分配资源(如230个CPU)并不一定带来效率提升,反而可能导致资源浪费。通过对比不同配置下的DAG执行图,作者得出结论,CPU与内存的合理配比是关键,推荐比例为1:2.5或1:3,并指出盲目增加内存可能并不利于效率。优化资源配置可以显著改善任务执行效率,避免队列拥堵。
摘要由CSDN通过智能技术生成

spark调优之 excutor-core和内存的合理配置

队列资源描述

队列资源描述
这是yarn界面上的,我和同事们共同使用的队列资源,这个队列总共3T内存 750个cpu

友情提示:看Max Resources这一栏

不过经常会出现,前面几个任务在跑,后面几个任务排长队的现象。

这让我百思不得其解

于是我看了一下导致这种情况的罪魁祸首

在这里插入图片描述

这是同事的配置 两个训练的模型

230个cpu几乎打满,打爆了整个3T的队列

他的任务一直在低效率的跑,怪不得后面排起了长队!

资源设置测验

测验思路

使用相同的数据,相同的处理逻辑,相同的代码去处理同一件事情

测验1

我尝试了一下同事们的配置方法 对数据进行配置

模拟同事的shell脚本配置
shell脚本配置

DAG
DAG
效果
同事的任务效果

测验2

新的配置
新配置
DAG
在这里插入图片描述

效果
效果

结论

由此可见 大量的配置内存配置有时候并不见得会有更好的效果,同事们这样进行配置,也不知道是否是在充分考虑shuffle和数据倾斜的前提之下进行的。但是单从效率方面来讲,一昧的添加内存资源不一定是有效果的。要尽量的达成cpu和内存的协调平衡。

在我的多次测验结果看来最平衡的状态是1:2,所以如果让我搭建集群我会尽量的将cpu和内存的配比平衡在1:2.5,或者1:3左右!

当使用的时候,尽量配比成1:2

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值