单节点部署smartbi各个组件,在使用过程中可能会出现zpu资源抢占的情况。比如MPP高并发,大数据量查询操作、多并发执行导出的场景,数据挖掘大数据量计算场景等,都可能导致服务器资源不足,从而出现访问smartbi慢,卡顿甚至报错等情况。
当前针对各个组件占用服务器CPU资源,没有好的限制方法,因此,我们建议可以根据实际使用场景,将占用CPU资源比较大的组件部署在不同的服务器中,通过服务器的隔离,实现cpu资源的隔离,达到避免出现cpu资源抢占,导致smartbi服务访问受影响的情况。
服务器CPU资源消耗较大的组件有以下:
高速缓存库、跨库联合查询、导出引擎、Spark、Python计算节点
可以根据不同的场景使用,将资源消耗较大的服务单独部署在一个服务器中。
服务器最低配置
CPU | 内存 | 硬盘 | 网络 |
---|---|---|---|
8核 | 32G | 部署目录200G | 千兆网卡 |
具体说明
组件名称 | 内存 | 备注 |
---|---|---|
Smartbi | 4G | Tomcat的JVM内存最大值,4G内存主要适用于单用户demo功能演示,建议配置8G以上内存。 |
知识库 | 4G | Mysql可能会使用的内存 |
MPP | 10G | MPP的默认内存配置,可调整 |
UnionServer | 8G | 跨库的默认内存配置,可调整 |
导出引擎 | 4G | 导出引擎可能会使用的内存 |
数据挖掘-实验引擎 | 5G | 默认的JVM内存最大值,可调整 |
数据挖掘-服务引擎 | 3G | 默认的JVM内存最大值,可调整 |
Python执行节点 | 2G | 默认的JVM内存最大值,可调整 |
关于内存
以上组件的内存参数,并非服务启动时需要占用对应的内存参数。不同的使用场景,组件运行时可能会占用对应的内存。在极端情况下运行过程中会因为服务器资源不足导致访问、查询等操作卡、慢、甚至报错情况。
如果不是全组件部署,可根据需要部署的组件申请对应的内存,如果可能,尽量提升服务器配置。
服务器推荐推荐配置:
CPU | 内存 | 硬盘 | 网络 | 备注 |
---|---|---|---|---|
16核+ | 64G+ | 500G+ | 千兆网络+ | 推荐单盘符部署smartbi组件 |
具体说明:
组件名称 | 内存 | 备注 |
---|---|---|
Smartbi | 16G | Tomcat的JVM内存最大值,可根据并发量调整此参数 |
知识库 | 4G | Mysql可能会使用的内存 |
MPP | 10G | MPP的默认内存配置,可调整 |
UnionServer | 8G | 跨库的默认内存配置,可调整 |
导出引擎 | 4G | 导出引擎可能会使用的内存 |
数据挖掘-实验引擎 | 5G | 默认的JVM内存最大值,可调整 |
数据挖掘-服务引擎 | 3G | 默认的JVM内存最大值,可调整 |
Python执行节点 | 2G | 默认的JVM内存最大值,可调整 |
Spark | 8G | Spark使用内存,可调整 |
关于内存
以上组件的内存参数,并非服务启动时需要占用对应的内存参数。不同的使用场景,组件运行时可能会占用对应的内存。在极端情况下运行过程中会因为服务器资源不足导致访问、查询等操作卡、慢、甚至报错情况。
如果不是全组件部署,可根据需要部署的组件申请对应的内存,如果可能,尽量提升服务器配置。
多台服务器部署方案参考:
两台服务器部署:
场景1、普通使用场景
服务器 | 部署组件 |
---|---|
服务器一 | smartbi、知识库、导出引擎、跨库联合查询 |
服务器二 | 数据挖掘、高速缓存库、Spark、Python |
场景2、MPP数据抽取,高并发查询以及跨库查询场景多
服务器 | 部署组件 |
---|---|
服务器一 | smartbi、知识库、数据挖掘引擎、导出引擎 |
服务器二 | 高速缓存库、跨库联合查询 |
场景3、数据挖掘计算场景多
服务器 | 部署组件 |
---|---|
服务器一 | smartbi、知识库、导出引擎、高速缓存库、跨库联合查询 |
服务器二 | 数据挖掘引擎、Spark、Python |
三台服务器部署:
场景1、普通使用场景
服务器 | 部署组件 |
---|---|
服务器一 | smartbi、知识库、导出引擎 |
服务器二 | 跨库联合查询、高速缓存库 |
服务器三 | 数据挖掘、spark、python |
场景2、MPP数据抽取,高并发查询以及跨库查询场景多
服务器 | 部署组件 |
---|---|
服务器一 | smartbi、知识库、数据挖掘引擎 |
服务器二 | 高速缓存库 |
服务器三 | 跨库联合查询、导出引擎 |
场景3、数据挖掘计算场景多
服务器 | 部署组件 |
---|---|
服务器一 | smartbi、知识库、导出引擎、高速缓存库、跨库联合查询 |
服务器二 | 数据挖掘引擎、Spark-master节点、Python |
服务器三 | Spark-work节点 |
以上方案提供参考,可根据服务器数量以及注重某个组件功能,将消耗CPU服务器资源的组件,部署在非smartbi和知识库节点。
部署方案并非一成不变,可以根据服务器数量和产品功能使用的侧重点来灵活的分配服务器资源。