单节点部署smartbi,在使用过程中可能会出现资源抢占,比如MPP抽取大数据量抽取、多并发导出场景,数据挖掘大数据量计算等场景,导致服务器资源不足,从而使服务出现访问慢,卡顿甚至报错等情况。

组件对服务器CPU的消耗没有比较好的方法限制,对此,我们可以通过将服务CPU资源消耗大的组件部署在不同的服务器中,避免出现资源抢占影响smartbi服务访问。


服务器资源消耗较大的组件有以下:

高速缓存库、跨库联合查询、导出引擎、Spark、Python计算节点

可以根据不同的场景使用,将资源消耗较大的服务单独部署在一个服务器中。


多台服务器部署方案参考:

两台服务器部署:

场景1、普通部署

1、smartbi、知识库、导出引擎、跨库联合查询

2、数据挖掘、高速缓存库、Spark、Python

场景2、侧重MPP数据抽取,以及跨库查询

1、smartbi、知识库、数据挖掘引擎、导出引擎

2、高速缓存库、跨库联合查询

场景3、侧重数据挖掘计算

1、smartbi、知识库、导出引擎、高速缓存库、跨库联合查询

2、数据挖掘引擎、Spark、Python、


三台服务器部署:

场景1、普通部署

1、smartbi、知识库、导出引擎

2、跨库联合查询、高速缓存库

3、数据挖掘、spark、python

场景2、侧重MPP数据抽取,以及跨库查询

1、smartbi、知识库、数据挖掘引擎

2、高速缓存库、

3、跨库联合查询、导出引擎

场景3、侧重数据挖掘计算

1、smartbi、知识库、导出引擎、高速缓存库、跨库联合查询

2、数据挖掘引擎、Spark-master节点、Python

3、Spark-work节点


以上方案提供参考,可根据服务器数量以及侧重某个组件,将消耗服务器资源的组件单独部署在一个服务器中。

1、服务器最低配置


CPU内存硬盘网络
8核32G部署目录200G千兆网卡


组件名称内存备注
Smartbi4GTomcat的JVM内存最大值,可根据并发量调整此参数
知识库4GMysql可能会使用的内存
MPP10GMPP的默认内存配置,可调整
UnionServer8G跨库的默认内存配置,可调整
导出引擎4G导出引擎可能会使用的内存
数据挖掘-实验引擎5G默认的JVM内存最大值,可调整
数据挖掘-服务引擎3G默认的JVM内存最大值,可调整
Python执行节点2G默认的JVM内存最大值,可调整


CPU内存硬盘网络备注
16核+64G+500G+千兆网络+推荐单盘符部署smartbi组件


组件名称内存备注
Smartbi16GTomcat的JVM内存最大值,可根据并发量调整此参数
知识库4GMysql可能会使用的内存
MPP10GMPP的默认内存配置,可调整
UnionServer8G跨库的默认内存配置,可调整
导出引擎4G导出引擎可能会使用的内存
数据挖掘-实验引擎5G默认的JVM内存最大值,可调整
数据挖掘-服务引擎3G默认的JVM内存最大值,可调整
Python执行节点2G默认的JVM内存最大值,可调整
Spark8GSpark使用内存,可调整

消耗服务器资源组件:

高速缓存库、跨库联合查询、导出引擎、Spark、Python计算节点

两台服务器部署方案参考:


服务器部署组件备注
服务器1smartbi、知识库、导出引擎、数据挖掘实验引擎,数据挖掘服务引擎
服务器2Spark、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代理即可。


参考以上三个部署方案,再根据不同的需求和不同的服务器资源灵活的进行服务器的部署规划。