调研公司内部Spark集群能承受多少并发量

65 篇文章 16 订阅
59 篇文章 6 订阅

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个.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值