单节点部署smartbi,在使用过程中可能会出现资源抢占,比如MPP抽取大数据量抽取、多并发导出场景,数据挖掘大数据量计算等场景,导致服务器资源不足,从而使服务出现访问慢,卡顿甚至报错等情况,对此,我们可以通过将服务资源消耗大的组件独立部署在服务器中,避免出现资源抢占影响smartbi服务访问。
多台服务器部署Smartbi及其组件,参考部署方案如下:
1、服务器最低配置
CPU | 内存 | 硬盘 | 网络 |
---|---|---|---|
8核 | 32G | 部署目录200G | 千兆网卡 |
组件名称 | 内存 | 备注 |
---|---|---|
Smartbi | 4G | Tomcat的JVM内存最大值,可根据并发量调整此参数 |
知识库 | 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使用内存,可调整 |
消耗服务器资源组件:
高速缓存库、跨库联合查询、导出引擎、Spark、Python计算节点
两台服务器部署方案参考:
服务器 | 部署组件 | 备注 |
---|---|---|
服务器1 | smartbi、知识库、导出引擎、数据挖掘实验引擎,数据挖掘服务引擎 | |
服务器2 | Spark、Python、高速缓存库、跨库联合查询 |
2、部署方案参考
Smartbi及其组件可分为两大部分:
- 第一部分:Smartbi,知识库,高速缓存库,跨库联合查询,导出引擎,Redis
其中可以根据服务器资源消耗再细分成两部分:
①Smartbi、知识库、导出引擎、Redis
②高速缓存库、跨库联合查询
- 第二部分:数据挖掘模块(包含数据挖掘实验引擎、服务引擎、Spark、Hadoop、Python计算节点)
数据挖掘引擎可根据服务器资源消耗细分为两部分:
①实验引擎、服务引擎、Hadoop
②Spark、Python计算节点
部署方案并非一成不变,可以根据服务器数量和产品功能使用的侧重点来灵活的分配服务器资源。
以下几个部署方案可提供参考:
1.部署Smartbi,不部署数据挖掘
背景:两台服务器,部署除数据挖掘引擎外的所有Smartbi组件(不部署集群)。
部署规划:
服务器 | 部署组件 |
---|---|
服务器一 | Smartbi,知识库,导出引擎,Redis |
服务器二 | 高速缓存库,跨库联合查询 |
解析
高速缓存库和跨库联合查询部署消耗资源较多,可以将两个服务部署在一台服务器中。
如果需要部署smartbi集群,服务器二再部署一个smartbi节点,并部署一个Proxy代理即可。
2.部署Smartbi和数据挖掘
背景:两台服务器,部署所有的Smartbi组件,并且经常使用数据挖掘模块。
部署规划:
服务器 | 部署组件 |
---|---|
服务器一 | Smartbi,知识库,高速缓存库,跨库联合查询,导出引擎,Redis |
服务器二 | 数据挖掘模块 |
解析
数据挖掘引擎在使用过程消耗资源较多,单独部署在一个服务器中。
如果需要部署smartbi集群,服务器二再部署一个smartbi节点,并部署一个Proxy代理即可。
3.部署Smartbi和数据挖掘
背景:三台服务器,部署所有的Smartbi组件,并且客户习惯使用Python脚本执行数据挖掘任务。
部署规划:
服务器 | 部署组件 |
---|---|
服务器一 | Smartbi,知识库,高速缓存库,跨库联合查询,导出引擎,Redis |
服务器二 | 数据挖掘实验引擎,服务引擎,Hadoop,Spark |
服务器三 | Python计算节点 |
解析
客户习惯使用Python脚本执行数据挖掘任务,则可以将Python计算节点单独部署在一台服务器中。
如果客户更习惯使用数据挖掘中自带的模块执行数据挖掘任务,则可以将Spark单独部署在一台服务器中。
如果需要部署smartbi集群,在其他服务器部署smartbi节点,并部署一个Proxy代理即可。
参考以上三个部署方案,再根据不同的需求和不同的服务器资源灵活的进行服务器的部署规划。