大数据集群资源预估规划【适用于面试与工作集群规划】

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 大数据集群资源预估规划【适用于面试与工作集群规划】

我们在实际工作,或者面试中,经常会遇到这么一个问题,集群该如何规划,一台机器多少磁盘,多少内存,多少core等。

关于公司集群规模,有的几台,有的几百或有的则几千台,那么这几百几千机器他们的配置是怎么样的?

这里先说下大概,对于大多数公司来说,集群有的10来台,而对于电信行业,一个地方的可能有几百台,对于一线互联网集群规模就比较大一些,上千台是比较常见的。    

那么如果我们要搭建大数据平台,集群该如何规划?这是我们初步搭建集群的时候,首次遇到的问题。

对于需要多少台机器,其实这个问题,不能一刀切的回答,具体情况具体分析。虽然一开始我们不知道多少台机器,但是我们可以知道影响的关键因素?

那就是数据的增量是多少?

数据的增量,这里我们来说下数据增量:

其实数据的增量不同的公司,也是不一样的,有的公司数据增量也就是几个G,而有的公司数据增量1T以上,比如物联网大数据。除了数据增量,还有其它影响因素,比如使用的计算组件,使用MapReduce和Spark,Flink在内存的使用上,肯定是有区别的。再比如QPS也影响着系统的资源分配。

除了影响因素,那么我们预估集群包含些步骤?

1.判断计算数据增量大小



如何计算数据量得大小,这个其实很多企业已有相关得系统,只不过数据得处理更换为大数据。所以数据增量已经非常明确。如果我们不知道增量是多少,那么我们就需要计算下。

如每天1亿请求,每个大概2KB,则增量为190G。

计算过程:

2KB转换为G=2/1024/1024

(2/1024/1024)*100000000约等于190G

2.QPS计算与评测


QPS这里我们首先需要计算大概是多少,同时我们需要评测一台物理机大概能支撑多少QPS。

QPS或许我们有些成员比较陌生,可以参考

记一次性能优化,单台4核8G机器支撑5万QPS

https://www.aboutyun.com/blog-61-4365.html

我们或许听说过,如果新浪微博明星发微博,比如结婚,离婚等事件,那么新浪就要顶不住了,就需要临时增加服务器,所以导致新浪程序员假期加班。其中原因之一就是QPS过多,导致服务器压力增大。

假如集群1亿的请求,对于一些网站而言,比如About云社区,电商社区等,一般0点到上午8点请求量很小。一般高峰期为上午10点,下午4,5点请求量比较大,当然每个社区或者电商时间点,有所区别。

也就是80%的数据( 0.8亿)会在其余16个小时(8点-24点)涌入,20%时间( 3小时内)涌入:

QPS= 80 000 000/ (10800)约等于7407条。

即预估结果集群需要在业务最高峰期抗住 7407/s的QPS。

上面是我们评估在高峰期QPS。如果资源充足,让高峰期QPS控制在集群能承载的总QPS的30%左右是比较安全的策略,即应设计集群承载QPS上限为2万~3万/s 才是安全的。

对于物理机,我们可以进行测试,一般来说一台物理机可稳定支持4万QPS。关于QPS测试方法很多种,比如WRK

QPS性能测试工具WRK的简明教程

https://www.aboutyun.com/blog-61-4366.html
更多我们可以自己搜索。

3.存储预估


存储的预估,这里其实还是涉及到我们是如何对待这些数据的,比如有些数据有效期是一年,有的则是长期存储等。这里我们就以长期存储保留。对于时间上来说,一般是三年内不需要增加磁盘。

我们就以数据增量为190G来计算,对于大数据存储,比如hdfs存储副本默认为3,那么190G*3=570G,也就是说一天大概存储570G。

570G*3*365=624150G大概为609T。也就是就存储来说大概需要609T的磁盘。但是一般集群存储不超过80%,609T/0.8大概需要760T。

如果一台机器是20T,那么我们需要38台机器。

4.内存估算


内存估算,内存的估算其实这个是没有绝对标准,有的公司使用Flink处理物联网数据,只用了几台不到10G的机器就可以处理。所以内存的估算其实不同的组件,执行多少任务,多少实时任务,离线任务、算法模型等,区别比较大。

一般实时任务占用的资源都是固定的,可以根据业务个数估算。离线任务可以根据ETL任务数和任务资源配置情况估算,计算资源离线和实时同时启用的时候不能超过资源90%。实时任务资源占用需要小于50%,如果数据增量为190G,实时任务7407/s的QPS,一分钟窗口444420*(2/1024/1024)=0.85G,有的设置5分钟窗口,那么大概是4.25G。如果离线任务,可以把1/4的数据放到内存,那就就需要47.5G的内存。如果二者同时运行,按照不超过90%来计算,需要57.5G。

上面只是单纯的从实时和离线单任务来计算,可以选择64G内存。

5.CPU估算


CPU和内存比例,一般为1:2或者1:4,当然具体需要看有多少线程。

我们以Kafka为例:

Kafka进程里面大概有多少线程:

feeda80d9bb59e81ebee5660fe2f6cd2.png1个Accept线程

  • 默认的3个Process线程(一般会设置为9个)
  • 默认的8个RequestHandler工作线程(可以设置为32个)
  • 清理日志的线程
  • 感知Controller状态的线程
  • 副本同步的线程

估算下来Kafka内部有100多个线程

实际计算

4个cpu core,一般来说几十个线程,在高峰期CPU几乎都快打满了。

8个cpu core,也就能够比较宽裕的支撑几十个线程繁忙的工作。所以Kafka的服务器一般是建议16核,基本上可以hold住一两百线程的工作。当然如果可以给到32 cpu core那就最好不过了!【参考】

总结


上面其实结果并不重要,重要的是我们是如何计算的,大家可以根据自己的环境和需求来估算大概需要的配置和机器数目。

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
4月前
|
资源调度 安全 Java
Java 大数据在智能教育在线实验室设备管理与实验资源优化配置中的应用实践
本文探讨Java大数据技术在智能教育在线实验室设备管理与资源优化中的应用。通过统一接入异构设备、构建四层实时处理管道及安全防护双体系,显著提升设备利用率与实验效率。某“双一流”高校实践显示,设备利用率从41%升至89%,等待时间缩短78%。该方案降低管理成本,为教育数字化转型提供技术支持。
99 1
|
5月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
3月前
|
机器学习/深度学习 Java 大数据
Java 大视界 -- Java 大数据在智能政务公共资源交易数据分析与监管中的应用(202)
本篇文章深入探讨了 Java 大数据在智能政务公共资源交易监管中的创新应用。通过构建高效的数据采集、智能分析与可视化决策系统,Java 大数据技术成功破解了传统监管中的数据孤岛、效率低下和监管滞后等难题,为公共资源交易打造了“智慧卫士”,助力政务监管迈向智能化、精准化新时代。
|
6月前
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
|
6月前
|
存储 NoSQL Redis
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 + 无锁架构 + EDA架构 + 异步日志 + 集群架构
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 + 无锁架构 + EDA架构 + 异步日志 + 集群架构
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 +  无锁架构 +  EDA架构  + 异步日志 + 集群架构
|
8月前
|
人工智能 DataWorks 大数据
大数据AI一体化开发再加速:DataWorks 支持GPU类型资源
大数据开发治理平台 DataWorks 的Serverless资源组支持GPU资源类型,以免运维、按需付费、弹性伸缩的Serverless架构,将大数据处理与AI开发能力无缝融合。面向大数据&AI协同开发场景,DataWorks提供了交互式开发和分析工具Notebook。开发者在创建个人开发环境时,可以选择GPU类型的资源作为Notebook运行环境,以支持进行高性能的计算工作。本教程将基于开源多模态大模型Qwen2-VL-2B-Instruct,介绍如何使用 DataWorks Notebook及LLaMA Factory训练框架完成文旅领域大模型的构建。
533 24
|
8月前
|
数据采集 监控 大数据
大数据项目管理:从规划到执行的全景指南
大数据项目管理:从规划到执行的全景指南
93 4
zdl
|
11月前
|
消息中间件 运维 大数据
大数据实时计算产品的对比测评:实时计算Flink版 VS 自建Flink集群
本文介绍了实时计算Flink版与自建Flink集群的对比,涵盖部署成本、性能表现、易用性和企业级能力等方面。实时计算Flink版作为全托管服务,显著降低了运维成本,提供了强大的集成能力和弹性扩展,特别适合中小型团队和业务波动大的场景。文中还提出了改进建议,并探讨了与其他产品的联动可能性。总结指出,实时计算Flink版在简化运维、降低成本和提升易用性方面表现出色,是大数据实时计算的优选方案。
zdl
434 56
|
11月前
|
SQL 存储 大数据
单机顶集群的大数据技术来了
大数据时代,分布式数仓如MPP成为热门技术,但其高昂的成本让人望而却步。对于多数任务,数据量并未达到PB级,单体数据库即可胜任。然而,由于SQL语法的局限性和计算任务的复杂性,分布式解决方案显得更为必要。esProc SPL作为一种开源轻量级计算引擎,通过高效的算法和存储机制,实现了单机性能超越集群的效果,为低成本、高效能的数据处理提供了新选择。
|
12月前
|
存储 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
154 1
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)

热门文章

最新文章