当前位置:   article > 正文

调研公司内部Spark集群能承受多少并发量_3台 4g 的spark集群处理能力

3台 4g 的spark集群处理能力

https://blog.csdn.net/qq_29726869/article/details/82757381

 

任务描述

测试公司内部Spark集群能承受多少并发量

 

Spark集群分配参数

节点数:5

cpu:20核

内存:40g

硬盘:500g

 

每台节点分配参数

cpu:4核

内存:8g

硬盘:100g

 

测试案例(通过spark集群自带WEBUI进行监控任务提交运行状态)

1.编写测试程序1,无限循环通过Spark restful API 提交任务到spark集群运行,每个任务申请worker数1个,cpu:1核,内存:1g,driver端 cpu:核,内存1g,程序只提交spark任务不进行任务读取文件和处理分析操作,申请到资源就立马释放

2.编写测试程序2,条件同上,然后每个任务读取指定文件进行分词计数,并且上一个任务提交后休眠1-2秒再进行提交下一个任务

3.编写测试程序3,提交2个任务,第一个任务先提交并申请spark集群所有资源,然后提交第二个任务,第二个任务也要获取spark集群所有资源

4.编写测试程序4,提交2个任务,第一个任务先提交并申请spark集群50%资源,然后提交第二个任务,第二个任务也要获取spark集群50%资源

5.编写测试程序5,提交2个任务,第一个任务先提交并申请spark集群70%资源,然后提交第二个任务,第二个任务也要获取spark集群70%资源

 

测试目的:

1.测试公司内部Spark集群同一时间能运行多少个spark任务

2.多个spark任务若能同时进行,执行速度怎么样

3.在spark集群无资源可申请的同时又有任务提交,spark集群会采取怎么操作

4.若提交一个任务,spark集群只能满足其一部分申请,这个任务该如何进行

 

测试结果

测试案例1:

提交任务速度太快,当提交到20个任务的时候,spark集群资源完全分配完,后续任务直接卡死

(一个任务最少要占两个CPU,一个driver端cpu,一个worker占用的cpu,提交任务时先申请driver端,延迟1-2秒后再去申请这个driver端的worker节点)

后续任务卡死的原因:

spark集群的所有cpu都分配给前20个任务的driver端了,没有多余的资源去分配给其他任务,也没有一点资源为前20个任务继续分配worker节点,结果就卡死了

 

测试案例2:

 

当提交到10个任务的时候,spark集群完全分配完,后续任务进入等待状态,当前10个任务中有某个任务执行结束了,后续任务就会按序号继续申请spark资源进行运行

 

测试案例3

第一个任务占用完spark集群所有资源,第二个任务直接进入等待状态,等待第一个任务执行完再进行申请资源

 

测试案例4

两个任务可以一起运行在spark集群上

 

测试案例5

第一个任务申请70%资源,第二个任务继续申请到30%资源,一起运行在spark集群上,当第一个任务结束后,spark集群会继续分配多出来的资源给第二个任务

 

备注:公司内部集群配置只适合测试环境,为保证提交的任务都能快速运行(分配4核4g)建议同时运行任务不超过4-5个.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/706426
推荐阅读
相关标签
  

闽ICP备14008679号