[spark]spark资源分配

一、常用方法

1、查看集群有多少资源

hadoop2:9870

2、查看每个节点的线程数和内存大小

1)查看单个节点的总线程数

2)查看每个节点的内存大小

应该是32G

3)查看队列的内存占比(常用的是hive队列)

3、设置executor个数 每个executor的CPU个数 每个CPU的内存大小

注:这个集群4个节点,每个节点8个线程,每个节点内存为32G

1、确定executor的cpu核数

每个executor的cpu设置为4(一般为3-6)比较合适

2、确定每个节点executor数量

executor nums=该节点可用的总线程数/每个executor的cpu数=6/4=1

3、 确定没个executor内存数量

如果使用hive队列的话,占总集群的内存最大占比为60%-80%即19G-25G即最大使用25G内存,

每个executor内存数=该节点可用的总内存数/该节点executor数=16G/1=19G(这里因为executor num实在太小,所以随便选了16)

这里可以看出来,内存数/线程数=16/4=4

内存数与线程数不是严格按照1:2,或者1:4,这个需要看一下每个节点的可用资源,具体情况具体计算。

但是一般cpu:内存=1:2-1:4,阿里云封装的时候1CU = 1cpu+4G内存, 即1:4,该值是比较合理的。

4、其他人共享这个队列时

如果和其他人共享这个队列,那么num-executors*executor-cores不要超过队列总cpu cores的1/3-1/2比较合适。(1*4即4个节点共4个executor)*4=16,总cpu为32线程 8/16=1/2

二、问了两个同学,但是我感觉他们也不知道具体怎么计算

1、京东

executor要么1:2要么1:4

2cpu 4g或2cpu 8g

我感觉这中的是不是也得分是io密集的还是cpu密集(就是比较吃cpu)的

如果是io的话,就内存多点,如果是cpu的话,那就cpu密集

如果数据量大的话,就多给executor个数

2、百度

1、日常小任务
executor nums 50
executor cores 4
executor memory 4G

2、较大统计任务
executor nums 200
executor cores 4
executor memory 4G

3、复杂逻辑&大shuffle计算任务
xecutor nums 300
executor cores 4
executor memory 6G

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spark分配资源优化是通过调节各种参数来提升Spark作业的执行性能。在动态资源分配方面,可以根据任务的复杂程度和性能需求来选择使用动态资源分配还是静态资源分配。根据引用\[2\]的阶段性总结,动态资源分配在简单任务性能与静态资源分配差不多,在复杂任务中性能提升较多。这可能是由于常驻的外部shuffle服务带来的性能提升。然而,在实际应用中,如果executor内存都分配得较大,总资源一定的情况下,任务的并行度较小,任务执行会更慢。为了提升任务并行度,可以增加spark.sql.shuffle.partition参数,但是根据引用\[2\]的观察,并没有明显的性能提升。因此,在优化Spark资源分配时,需要综合考虑任务的复杂度、性能需求以及资源的分配情况。同时,还需要注意可能的约束,比如流式采集使用DC时,是否可用动态分配,以及算法引擎的资源管控可能会失效等。总之,通过调节Spark的资源参数,可以优化资源的使用效率,提升Spark作业的执行性能。 #### 引用[.reference_title] - *1* *2* [利用动态资源分配优化Spark应用资源利用率](https://blog.csdn.net/xingyuan8/article/details/104652128)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [spark资源分配优化](https://blog.csdn.net/amazon2006/article/details/84803665)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值