DSS系统需求
项目地址
https://github.com/WeBankFinTech/DataSphereStudio
计算资源计算基准:
1.日活用户10万。
2.单用户单日总体业务数据100条/人。
3.单用户单数据体积2Kb/条。
计算引擎程序硬件需求表 :
多节点部署方式参考:
Linkis仍然保持着基于SpringCloud的微服务架构,其中每个微服务都支持多活的部署方案,当然不同的微服务在系统中承担的角色不一样,有的微服务调用频率很高,更可能会处于高负荷的情况,在安装EngineConnManager的机器上,由于会启动用户的引擎进程,机器的内存负载会比较高,其他类型的微服务对机器的负载则相对不会很高,对于这类微服务我们建议启动多个进行分布式部署,Linkis动态使用的总资源可以按照如下方式计算。
EngineConnManager使用总资源 = 总内存 + 总核数 =
同时在线人数 * (所有类型的引擎占用内存) *单用户最高并发数+ 同时在线人数 * (所有类型的引擎占用内存) *单用户最高并发数
例如只使用spark、hive、python、flink引擎且单用户最高并发数为1的情况下,同时使用人数50人,Spark的Driver内存1G,Hive Client内存1G,python client 1G,每个引擎都使用1个核,那么就是 50 *(1+1+1+1)G * 1 + 50 *(1+1+1+1)核*1 = 200G 内存 + 200 CPU核数。
分布式部署时微服务本身占用的内存可以按照每个2G计算,对于使用人数较多的情况下建议调大ps-publicservice的内存至6G,同时建议预留10G内存作为buffer。
以下配置假设每个用户同时启动两个引擎为例,参考配置如下:
- 同时在线人数10-50
服务器配置推荐4台服务器,分别命名为S1,S2,S3,S4
服务 | 节点 | 注释 | 并行度 | 单实例内存(GB) | 单实例CPU(Core) | 总内存(GB) | 总CPU(Core) |
---|---|---|---|---|---|---|---|
cg-engineconnmanager | S1、S2 | 每台机器单独部署 | 50 | 4(按照计算引擎) | 4 | 200 | 200 |
Other services | S3、S4 | Eureka高可用部署 | 50 | 8 | 2 | 36 | 4 |
总计 | 236Gb | 204Core |
- 同时在线人数50-100
服务器配置推荐:6台服务器,分别命名为S1,S2,S3,S4,S5,S6
服务 | 节点 | 注释 | 并行度 | 单实例内存(GB) | 单实例CPU(Core) | 总内存(GB) | 总CPU(Core) |
---|---|---|---|---|---|---|---|
cg-engineconnmanager | S1-S4 | 每台机器单独部署 | 100 | 4(按照计算引擎) | 4 | 400 | 400 |
Other services | S5-S6 | Eureka高可用部署 | 100 | 8 | 2 | 36 | 4 |
总计 | 436Gb | 404Core |
- 同时使用人数 100-300
服务器配置推荐:12台服务器,分别命名为S1,S2..S12
服务 | 节点 | 注释 | 并行度 | 单实例内存(GB) | 单实例CPU(Core) | 总内存(GB) | 总CPU(Core) |
---|---|---|---|---|---|---|---|
cg-engineconnmanager | S1-S10 | 每台机器单独部署 | 300 | 4(按照计算引擎) | 4 | 1200 | 1200 |
Other services | S11-S12 | Eureka高可用部署 | 300 | 8 | 2 | 36 | 4 |
总计 | 1236Gb | 1204Core |
应用硬件需求表:
服务器配置推荐,9台服务器,对于64G内存的机器
服务 | 节点 | 注释 | 并行度 | 单实例内存(GB) | 单实例CPU(Core) | 总内存(GB) | 总CPU(Core) |
---|---|---|---|---|---|---|---|
数据门户 | S1、S2 | 每台机器单独部署 | 300 | 64 | 16 | 128 | 32 |
数据分析 | S3-S4 | 每台机器单独部署 | 300 | 64 | 16 | 128 | 32 |
数据资产 | S3-S4 | 每台机器单独部署 | 300 | 64 | 16 | 128 | 32 |
数据仓库 | S3-S4 | 每台机器单独部署 | 300 | 64 | 16 | 128 | 32 |
数据模型 | S3-S4 | 每台机器单独部署 | 300 | 64 | 16 | 128 | 32 |
数据交换 | S3-S4 | 每台机器单独部署 | 300 | 64 | 16 | 128 | 32 |
数据质量 | S3-S4 | 每台机器单独部署 | 300 | 64 | 16 | 128 | 32 |
实时计算 | S5-S6 | 每台机器单独部署 | 300 | 64 | 16 | 128 | 32 |
任务调度 | S5-S6 | 每台机器单独部署 | 300 | 64 | 16 | 128 | 32 |
数据血缘 | S7-S9 | 每台机器单独部署 | 300 | 64 | 16 | 192 | 48 |
总计 | 580Gb | 144Core |
集群存储需求表 :
集群存储 | 用户数 | 单用户数据(条/日) | 单数据量(Kb/条) | 总数据量(Mb/日) |
---|---|---|---|---|
300 | 100 | 2 | 60 | |
磁盘总体需求 | 2Tb / 年 |
总体服务器需求 :
服务器需求 | 操作系统 | Cpu | 内存 | 硬盘 |
---|---|---|---|---|
11台 | CentOS7.6 | 16 Core/2.5GHz | 64 Gb | 500G |
10台(计算引擎) | CentOS7.6 | 120 Core/2.5GHz | 120Gb | 500G |
DSS计算及存储资源需求
计算资源计算基准:
1.日活用户10万。
2.单用户单日总体业务数据100条/人。
3.单用户单数据体积2Kb/条。
计算程序硬件需求表:
任务 | 作业数 | 并行度 | 单实例内存(GB) | 单实例CPU(Core) | 总内存(GB) | 总CPU(Core) |
---|---|---|---|---|---|---|
基础设施 | 10 | -- | 8 | 2 | 80 | 20 |
ETL | 10 | 1 | 8 | 2 | 80 | 20 |
离线计算 | 10 | 6 | 2 | 2 | 120 | 120 |
实时计算 | 5 | 6 | 4 | 2 | 120 | 60 |
总计 | 400Gb | 220 Core |
集群存储需求表 :
- 总数据量(Gb/日) = 用户数(万) X单用户数据(条/日) X单数据量(Kb/条)
- 总数据量(Tb/年) = 总数据量(Gb/日) X 1.35(索引及其他) + X( 1 + 数据副本+ 临时存储因子)
集群存储 | 用户数(万) | 单用户数据(条/日) | 单数据量(Kb/条) | 总数据量(Gb/日) |
---|---|---|---|---|
10 | 100 | 2 | 25 | |
数据副本 | 临时存储因子 | 总数据量(Tb/年) | 安全冗余(Tb/年) | |
3 | 2.5 | 67 | 24 | |
磁盘总体需求 | 100Tb / 年 |
总体服务器需求 :
服务器需求 | 操作系统 | Cpu | 内存 | 硬盘 |
---|---|---|---|---|
15台 | CentOS7.6 | 24 Core/2.5GHz | 48 Gb | 10Tb |