SmartbiExport导出引擎服务集群部署方案,是通过Smartbi Proxy进行http转发到集群中的各个SmartbiExport导出引擎服务节点实现的。
一、环境信息
IP地址 | 组件名称 | 备注 |
---|---|---|
10.10.35.64 | Proxy | |
10.10.35.65 | 导出引擎节点1 | |
10.10.35.66 | 导出引擎节点2 |
二、部署Proxy
Smartbi Proxy负载均衡服务,为产品提供负载均衡和代理服务。
1. 环境准备
① 在apache官网下载tomcat8安装包
https://tomcat.apache.org/download-80.cgi
② 在oracle官网下载64位的jdk安装包
注意 | ||
---|---|---|
| ||
此版本的smartbi proxy只能在tomcat8、JDK1.8以上环境安装部署。 |
1.1 防火墙配置
为了便于安装,建议在安装前关闭防火墙。使用过程中,为了系统安全可以选择启用防火墙,但必须启用Smartbi使用到的相关端口。
① 关闭防火墙
临时关闭防火墙
代码块 | ||
---|---|---|
| ||
systemctl stop firewalld |
永久关闭防火墙
代码块 | ||
---|---|---|
| ||
systemctl disable firewalld |
查看防火墙状态
代码块 | ||
---|---|---|
| ||
systemctl status firewalld |
② 开启防火墙
相关服务及端口对照表
服务名 | 开放端口 |
---|---|
Smartbi Proxy | 8080 |
如果确实需要打开防火墙安装,需要给防火墙放开以下需要使用到的端口
开启端口:8080
代码块 | ||
---|---|---|
| ||
firewall-cmd --permanent --add-port=8080/tcp |
配置完以后重新加载firewalld,使配置生效
代码块 | ||
---|---|---|
| ||
firewall-cmd --reload |
查看防火墙的配置信息
代码块 | ||
---|---|---|
| ||
firewall-cmd --list-alle |
③ 关闭selinux
临时关闭selinux,立即生效,不需要重启服务器。
代码块 | ||
---|---|---|
| ||
setenforce 0 |
永久关闭selinux,修改完配置后需要重启服务器才能生效
代码块 | ||
---|---|---|
| ||
sed -i 's/=enforcing/=disabled/g' /etc/selinux/config |
1.2 安装Java环境
安装包解压到/opt目录
代码块 | ||
---|---|---|
| ||
tar -zxvf jdk1.8.0_181-linux_x64.tar.gz -C /data |
配置java环境变量
① 执行 vi ~/.bash_profile 文件末尾添加,并保存
代码块 | ||
---|---|---|
| ||
export JAVA_HOME=/data/jdk1.8.0_181 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 |
2. 部署Smartbi Proxy
2.1 安装Tocmat
①Tomcat安装包解压到/data目录
代码块 | ||
---|---|---|
| ||
tar -zxvf apache-tomcat-8.5.57.tar.gz -C /data |
②修改Tomcat启动参数
进入Tomcat下的bin目录
代码块 | ||
---|---|---|
| ||
cd /data/apache-tomcat-8.5.57/bin/ |
创建Tomcat启动参数文件:setenv.sh
代码块 | ||
---|---|---|
| ||
vi setenv.sh |
具体参数如下(根据实际部署替换配置中的路径):
代码块 | ||
---|---|---|
| ||
export JAVA_HOME="/data/jdk1.8.0_181" export JRE_HOME="/data/jdk1.8.0_181/jre" export CATALINA_HOME="/data/apache-tomcat-8.5.57" export JAVA_OPTS="-Dfile.encoding=UTF-8 -Duser.region=CN -Duser.language=zh -Djava.awt.headless=true -Xms2048m -Xmx4096m -XX:MaxMetaspaceSize=512m -Dmail.mime.splitlongparameters=false -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow" |
赋予setenv.sh相关权限
代码块 | ||
---|---|---|
| ||
chmod 755 setenv.sh |
2.2 部署Smartbi Proxy
服务 | 软件包 | 备注 |
---|---|---|
smartbi proxy | smartbi.war | smartbi proxy程序安装包 |
① 上传Smartbi Proxy war包
将smartbi.war上传到/data/apache-tomcat-8.5.57/webapps目录下
② 启动Tocmat 服务器
进入/data/apache-tomcat-8.5.57/bin目录下,执行startup.sh脚本启动tomcat程序
代码块 | ||
---|---|---|
| ||
cd /data/apache-tomcat-8.5.57/bin ./startup.sh |
2.3 登陆Smartbi Proxy控制台
登陆smartbi-proxy的管理控制台,进行配置。
浏览器访问 http://IP:8080/smartbi/proxy#/login
初始默认账号:admin 密码:admin
登陆后首页如下图:
由于没有导出引还未部署,所以首页显示暂无数据。
修改smartbi proxy登陆密码
选择修改密码,输入旧密码,设置新密码,保存即可。
Proxy日志默认保存在:<Tomcat安装路径>/log/目录下
三、部署导出引擎集群
注意 | ||
---|---|---|
| ||
集群所有导出引擎节点部署的方法相同。 |
1、导出引擎安装包上传到服务器并解压到指定路径
代码块 | ||
---|---|---|
| ||
tar -zxvf Smartbi_Export.tar.gz -C /data |
2、安装Docker程序
代码块 | ||
---|---|---|
| ||
cd /data/Smartbi_Export ./install_docker.sh |
3、导出引擎配置Proxy代理服务器地址
代码块 | ||
---|---|---|
| ||
cd /data/Smartbi_Export/smartbi_data/smartbi-export vi conf.js |
配置参考下图:
4、启动导出引擎
代码块 | ||
---|---|---|
| ||
cd /data/Smartbi_Export/ ./start_SmartbiExport.sh |
5、修改导出引擎默认端口
Smartbi导出引擎服务,默认端口是3003,如果需要修改端口,可以编辑start_SmartbiExport.sh,如下图所示,修改端口为需要设置的端口号。
注意:部署集群时,需要修改容器的IP地址,IP地址不能相同
6、所有节点的导出引擎部署完成后,可以登录proxy查看
浏览器访问 http://IP:8080/smartbi/proxy#/login
能正常显示两个导出引擎节点
四、连接导出引擎集群
登陆Smartbi,选择 系统运维 > 系统选项 > 公共设置 > 服务器地址。
Smartbi服务器URL:http://smartbi访问地址:端口/smartbi
导出引擎URL地址:http://Proxy地址:端口/smartbi/smartbiexport
注意 | ||
---|---|---|
| ||
导出引擎的集群地址,需要在proxy的地址后面加上config.js里面配置应用名,可以自定义,默认是smartbiexport |
五、运维操作
注意 | ||
---|---|---|
| ||
集群所有导出引擎节点运维操作相同 |
1.重启导出引擎
代码块 | ||
---|---|---|
| ||
docker restart smartbi-export |
2.更新导出引擎
2.1. 仅更新导出引擎配置文件
停止导出引擎
代码块 | ||
---|---|---|
| ||
docker stop smartbi-export |
进入<导出引擎部署目录>/Smartbi_Export/smartbi_data/smartbi-export
备份需要更新的配置文件,比如:conf.js 和 server.js 文件
代码块 | ||
---|---|---|
| ||
mv conf.js conf-bk.js mv server.js server-bk.js |
上传新的配置文件,重新启动导出引擎
代码块 | ||
---|---|---|
| ||
docker start smartbi-export |
2.2. 更新导出引擎配置文件及主程序
注意 |
---|
导出引擎更新2022年9月9号及以后版本的,需要更新一次node_modules文件,安装介质可以联系Smartbi官方支持获取。 |
停止导出引擎
代码块 | ||
---|---|---|
| ||
docker stop smartbi-export |
进入<导出引擎部署目录>/Smartbi_Export/smartbi_data/smartbi-export
备份导出引擎主程序以及配置文件
代码块 | ||
---|---|---|
| ||
mv conf.js conf-bk.js mv server.js server-bk.js mv monitor.js monitor-bk.js mv node_modules node_modules-bk |
上传新的配置文件(server.js,conf.js,monitor.js)及node_modules文件,重新启动导出引擎
代码块 | ||
---|---|---|
| ||
docker start smartbi-export |
注意 | ||
---|---|---|
| ||
如果导出引擎是集群部署,需要对比新版本和备份的conf.js文件,把备份的conf.js文件的proxy参数更新到新的conf.js文件中 |
3. 停止导出引擎服务
代码块 | ||
---|---|---|
| ||
cd 导出引擎部署目录 ./stop_SmartbiExport.sh 或者 docker stop smartbi-export |
4. 卸载导出引擎
代码块 | ||
---|---|---|
| ||
cd 导出引擎部署目录 ./unstall_SmartbiExport.sh |
5. 查看日志
代码块 | ||
---|---|---|
| ||
docker logs smartbi-export |
注意事项
自助仪表盘的导出,在实际操作中会有一些限制条件,例如:
1、不支持将分页控件、Tab页控件、滚动条中所展示的图表全部内容都进行导出。因为自助仪表盘的导出的结果为静态,相当于网页快照,无法对其进行交互操作。
① 分页控件:对表格数据设置分页后,导出方式为“png”、“pdf”的情况下,只能导出第一页的内容,即导出仪表盘的快照。
② Tab控件:Tab页控件的导出,默认导出按照“从左到右”页签顺序的第一个图表,即使页面切换到其他Tab页签下,也只能导出第一个Tab页签下的图表。
③ 滚动条:有报表滚动条存在的时候,无法将滚动条剩余部分的图表内容一起导出。
2、导出方式为“excel”时,会将各图表相应的全部数据导出在以“图表标题”命名的sheet页内。
如下图,仪表盘包含四个图表组件,导出的excel则包含仪表盘的快照和四个图表组件相应的全部数据。