部署smartbi集群时,每个smartbi节点都需要连接同一个的知识库。

通过smartbi proxy实现smartbi集群的负载均衡,提高smartbi的可用性。

1、环境准备

IP地址主机名角色
192.168.137.110smartbi-1smartbi 集群节点1
192.168.137.111smartbi-2smartbi 集群节点2
192.168.137.112proxysmartbi-proxy 负载均衡

安装包列表:

服务软件包备注
smartbismartbi.warsmartbi
JDKjdk8.0.202-linux_x64.tar.gzJDK
tocmatapache-tomcat-8.5.51.tar.gzTomcat安装包
smartbi proxysmartbi.warsmartbi proxy程序安装包


2、部署Smartbi

smartbi-1和smartbi-2两台服务器节点,参考 Linux Tocmat部署Smartbi 部署好Smartbi,并配置好License,知识库相关信息,能正常访问smartbi。

3、部署Smartbi Proxy

3.1防火墙配置

为了便于安装,建议在安装前关闭防火墙。使用过程中,为了系统安全可以选择启用防火墙,但必须启用Smartbi使用到的相关端口。

1.关闭防火墙

临时关闭防火墙

systemctl stop firewalld

永久关闭防火墙

systemctl disable firewalld

查看防火墙状态

systemctl status firewalld

2.开启防火墙

相关服务及端口对照表

服务名

开放端口

Smartbi Proxy

8080


如果确实需要打开防火墙安装,需要给防火墙放开以下需要使用到的端口
开启端口:8080

firewall-cmd --permanent --add-port=8080/tcp

配置完以后重新加载firewalld,使配置生效

firewall-cmd --reload

查看防火墙的配置信息

firewall-cmd --list-all

3.关闭selinux

临时关闭selinux,立即生效,不需要重启服务器。

setenforce 0

永久关闭selinux,修改完配置后需要重启服务器才能生效

sed -i 's/=enforcing/=disabled/g'  /etc/selinux/config

3.2 安装Java环境

 安装包解压到/opt目录

tar -zxvf jdk8.0.202-linux_x64.tar.gz -C /opt

配置java环境变量
①执行 vi ~/.bash_profile 文件末尾添加,并保存

export  JAVA_HOME=/opt/jdk8.0.202-linux_x64
export  JRE_HOME=$JAVA_HOME/jre
export  CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/jre/lib:$CLASSPATH
export  PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

②使配置生效

source ~/.bash_profile

③查看java版本信息

java -version

3.3 安装Tocmat

①Tomcat安装包解压到/opt目录

tar -zxvf apache-tomcat-8.5.51.tar.gz -C /opt

②修改Tomcat启动参数

进入Tomcat下的bin目录

cd /data/apache-tomcat-8.5.51/bin/

创建Tomcat启动参数文件:setenv.sh

vi setenv.sh

具体参数如下(根据实际部署替换配置中的路径):

export JAVA_HOME="/opt/jdk8.0.202-linux_x64"
export JRE_HOME="/opt/jdk8.0.202-linux_x64/jre"
export CATALINA_HOME="/data/apache-tomcat-8.5.51"
export JAVA_OPTS="-Dfile.encoding=GBK -Duser.region=CN -Duser.language=zh -Djava.awt.headless=true -Xms512m -Xmx2048m -XX:MaxPermSize=512m -Dmail.mime.splitlongparameters=false -XX:+HeapDumpOnOutOfMemoryError"

赋予setenv.sh相关权限

chmod 755 setenv.sh

3.4 部署Smartbi Proxy

服务软件包备注
smartbi proxysmartbi proxy程序安装包

1.上传Smartbi Proxy war包

将smartbi_proxy.war上传到/data/apache-tomcat-8.5.51/webapps目录下,并重命名为smartbi.war

2.启动Tocmat 服务器

进入/data/apache-tomcat-8.5.51/bin目录下,执行startup.sh脚本启动tomcat程序

cd /data/apache-tomcat-8.5.51/bin
./startup.sh

3.5登陆Smartbi Proxy控制台

①浏览器访问 http://IP:PORT/smartbi/proxy/page/login.jsp

初始默认账号:admin 密码:空

②系统设置

首次登陆,会进入系统配置页面。

代理系统密码:这个是当前的smartbi-proxy的管理员密码。

应用系统管理员密码:这个是smartbi的管理员密码。

接收邮箱帐号:输入接收异常的邮箱帐号。

其他的按下面的图片说明进行填写。

最后点击保存按钮,保存配置。

③进入主页

设置成功后,点击浏览器右上角的主页按钮,进入管理控制台首页。如下图所示:

4、配置Smartbi集群

4.1Proxy配置Smartbi节点

a. 节点配置

进入首页后,点击节点管理。

b. 增加节点

点击增加按钮增加节点

c. 配置smartbi服务器信息

服务器名称:根据情况自己填写

服务器地址:smartbi的地址,根据实际情况填写。

继续添加节点,按情况填写配置信息。

d. 启动服务

配置完成后,点击右边的启动按钮,启动服务。

启动后,状态会变更为启用

e. 查看状态

点击首页,可以查看此时各节点的状态

4.2.Smartbi设置集群配置

分别访问两个Smartbi节点的conf页面(即 http://IP:Port/smartbi/vision/config.jsp),设置集群配置,参考以下配置方法。

集群节点smartbi-1主机:

服务器地址列表:192.168.137.110:40000,192.168.137.111:40000
其中:192.168.137.110 是 smartbi-1 服务的物理机IP地址;
        192.168.137.111 是 smartbi-2 服务的物理机IP地址;
端口40000是smartbi集群内部通信的端口,远程端口:40001,用于远程连接其他smartbi服务器缓存共享的端口,备用监听端口增值填写100,设置完成保存,并重启Smartbi。

如果服务器关闭防火墙,则无需设置远程访问端口和备用监听端口增值;

如果服务器开启防火墙,则需要开放对应的端口:40000,40001,40100,40101

使用手动模式时,部署smartbi集群的各个节点,网络必须是互相连通的。

集群节点smartbi-2主机:

服务器地址列表:192.168.137.110:40000,192.168.137.111:40000
其中:192.168.137.110 是 smartbi-1 服务的物理机IP地址;
        192.168.137.111 是 smartbi-2 服务的物理机IP地址;
端口40000是smartbi集群内部通信的端口,远程端口:40001,用于远程连接其他smartbi服务器缓存共享的端口,备用监听端口增值填写100,设置完成保存,并重启Smartbi。

如果服务器关闭防火墙,则无需设置远程访问端口和备用监听端口增值;

如果服务器开启防火墙,则需要开放对应的端口:40000,,40001,40100,40101

使用手动模式时,部署smartbi集群的各个节点,网络必须是互相连通的。

配置集群方式说明
手动模式手动填写ip地址,一起配置集群,对于所填ip地址,需保证两个节点的网络必须是连通的。
自动模式

自动模式实际上是广播模式,要求同网段才能收到广播,如需测试现场环境能不能使用自动模式来配置smartbi集群可参考如下文档:

分组广播测试

5、验证Smartbi集群

1、分别访问两个smartbi系统监控页面,查看缓存
smartbi-1服务:
http://IP:PORT/smartbi/vision/sysmonitor.jsp

smartbi-2服务:
http://IP:PORT/smartbi/vision/sysmonitor.jsp

系统监控缓存页面中peers如图所示,即表示集群配置成功

2、可通过在任意一台smartbi服务器中创建文件目录,在其他smartbi服务器上刷新查看是否实时同步,如果同步,则smartbi集群部署成功。

6、验证Smartbi负载均衡

1、访问Smartbi Proxy,查看smartbi节点状态

首页会显示所有Smartbi的状态相关信息。

2、使用Proxy地址访问smartbi

即 http://ProxyIP:PORT/smartbi/   可正常代理到后端的任意一台Smartbi。


Smartbi集群部署完成。

常见问题

1.Tomcat8.x部署注意事项

1、提升smartbi启动速度

注:Tomcat 如果是8.0版本,需要修改smartbi.war包中WEB-INF目录下面的web.xml文件,具体修改方法见下图。

需要添加这个配置的原因是:

1、JSP/Servlet 3.0 规范中,如果没有指定metadata-complete=true参数,则会在启动过程中扫描整个war包中所有jar类中是否包含@Servlet等相应的注解,旧版本是需要在web.xml中指定(比如原先创建一个servlet,我们都需要在web.xml中添加对应的Servlet的入口)。

2、这样会导致启动的过程非常缓慢,可能耗时半小时以上。

3、添加这两个属性(metadata-complete="true",<absolute-ordering />)可以指定不再进行相应的扫描,从而提高Smartbi启动速度。 


2、取消Tocamt上传大小限制

Tomcat8.x默认上传文件大小(maxPostSize)限制为2M,如果需要取消maxPostSize限制,需要将maxPostSize的值设置为负数:

vi  <Tomcat8.x目录>/conf/server.xml 

添加 maxPostSize="-1"

配置参考下图:

重启Tomcat,使其生效。