导出引擎概述
V9.3及之后版本支持自助仪表盘的导出,该功能正常使用的前提需要部署好导出引擎服务。
V9.3及之后的版本若通过exe执行文件安装的环境,默认自动配置好导出引擎;但V9.3之前的版本(无论是自动安装还是手工部署),需先将war包更新到V9.3版本,再按照如下方法进行导出引擎的部署。
系统要求
服务器要求
操作系统 | Linux内核3.10以上 |
---|---|
CPU | 8核 |
内存 | 16G及以上 |
磁盘 | 200G以上 |
安装权限要求
安装时用root用户运行或使用具有sudo权限的用户运行脚本,推荐使用root用户安装。
由于 CentOS 6 缺少安装所需的依赖包,因此在 CentOS 6 不能安装;建议使用CentOS 7安装。
Smartbi版本要求
部署导出引擎的前提:smartbi.war包必须是下图版本及之后版本才可以。
防火墙配置
为了便于安装,建议在安装前关闭防火墙。使用过程中,为了系统安全可以选择启用防火墙,但必须启用SmartbiExport使用到的相关端口。
1. 关闭防火墙
临时关闭防火墙(立即生效)
systemctl stop firewalld
永久关闭防火墙(重启后生效)
systemctl disable firewalld
查看防火墙状态
systemctl status firewalld
2. 开启防火墙
相关服务及端口对照表
服务名 | 端口 |
---|---|
smartbi-export | 3003 |
如果确实需要打开防火墙安装,需要给防火墙放开以下需要使用到的端口
开启导出引擎端口:3003
firewall-cmd --permanent --add-port=3003/tcp firewall-cmd --reload firewall-cmd --list-all
关闭selinux
临时关闭selinux,立即生效,不需要重启服务器。
setenforce 0
永久关闭selinux,修改完配置后需要重启服务器才能生效
sed -i 's/=enforcing/=disabled/g' /etc/selinux/config
由于每次操作docker,都需要关闭selinux才能进行。建议永久关闭selinux,方便后续的维护使用。
部署导出引擎
1. 安装包准备
获取导出引擎安装包,并上传到服务器中。
tar -zxvf Smartbi_Export.tar.gz
2. 安装Docker
检查部署环境的ip地址
安装docker服务前,需要通过以下命令查询服务器的ip地址信息。
# ifconfig 或者 # ip addr
由于安装docker服务后,会创建docker0网卡,默认ip地址是172.17.0.1/16,当服务器的真实ip地址也是这个网段范围,会导致ip冲突,需要手工修改docker的安装脚本,修改docker的默认ip地址。
修改docker的ip地址(当有ip冲突的情况才需要执行此步骤)
在导出引擎的安装包里,找到docker_package/docker-config/docker.service文件,增加 --bip 150.31.0.1/16 (具体ip段可以依据项目情况调整)
安装docker
# cd Smartbi_Export # chmod +x *.sh # ./install_docker.sh
已安装docker的环境,修改dockre0的网卡地址(一般是出现ip地址冲突时才执行此操作)
修改/usr/lib/systemd/system/docker.service 文件中 添加 --bip 150.31.0.1/16 (具体ip段可以依据项目情况调整)
重新加载系统服务:systemctl daemon-reload
重启docker服务:systemctl restart docker
3. 启动导出引擎服务
./start_SmartbiExport.sh
4. 修改默认端口(可选)
导出引擎默认端口为3003。如果需要修改为其他端口,方法如下:
# vi smartbi_data/smartbi-export/conf.js
修改内容:3003 修改为 6006
5.修改内存
修改start_SmartbiExport.sh脚本,在启动脚本中,增加或者修改--cpus和–memory参数进行配置。
参数说明
参数值 | 设置值 | 参数说明 |
---|---|---|
--cpus | 4 | 设置cpu的最大值。必须配置为整数,单位是核。 |
–memory | 8G | 设置内存的最大值,单位可以配置M/G。 |
修改了cpu和内存的参数值后,需要删除smartbi-export容器,然后再启动smartbi-export
# docker rm -f smartbi-export
# ./start_SmartbiExport.sh
6. 配置导出引擎
登陆Smartbi,选择 系统运维 > 系统选项 > 公共设置 > 服务器地址。
Smartbi服务器URL:http://smartbi访问地址:端口/smartbi
导出引擎URL地址:http://导出引擎服务器地址:3003
运维操作
1. 重启导出引擎
docker restart smartbi-export
2. 更新导出引擎
① 仅更新导出引擎配置文件(小版本升级)
停止导出引擎
docker stop smartbi-export
进入<导出引擎部署目录>/Smartbi_Export/smartbi_data/smartbi-export
备份需要更新的配置文件,比如:server.js文件
mv server.js server-bk.js
上传新的server.js文件,重新启动导出引擎
docker start smartbi-export
② 更新导出引擎配置文件及主程序(增加新功能)
1、更新介质可以联系Smartbi官方支持获取。
2、导出引擎是从2022年9月9号之前的版本更新到2022年9月9号之后的版本的,需要更新一次node_modules文件
3、node_modules.tar.gz是压缩文件,由于windows环境路径有长度限制,所以需要上传到Linux服务器上再进行解压操作。
停止导出引擎
docker stop smartbi-export
进入<导出引擎部署目录>/Smartbi_Export/smartbi_data/smartbi-export
备份导出引擎主程序以及node_modules目录
mv server.js server-bk.js mv node_modules node_modules-bk
上传新的导出引擎文件(server.js)及node_modules文件,重新启动导出引擎
1、node_modules.tar.gz是压缩文件,需要在Linux环境执行 tar -zxvf node_modules.tar.gz 解压缩。
2、注意替换文件的目录层级,需要和之前保持一致。
docker start smartbi-export
3. 停止导出引擎
cd 导出引擎部署目录 ./stop_SmartbiExport.sh 或者 docker stop smartbi-export
4. 卸载导出引擎
cd 导出引擎部署目录 ./unstall_SmartbiExport.sh
5. 查看日志
docker logs --tail 100 smartbi-export ####查看最后100行的日志
6.导出日志
docker logs --tail 1000 smartbi-export >export-log.txt ####导出最后1000行日志到export-log.txt
7.开机自启
导出引擎是基于docker部署的。当docker服务是开机启动时,导出引擎也会跟着docker开机自启。
注意事项
自助仪表盘的导出,在实际操作中会有一些限制条件,例如:
1、不支持将分页控件、Tab页控件、滚动条中所展示的图表全部内容都进行导出。因为自助仪表盘的导出的结果为静态,相当于网页快照,无法对其进行交互操作。
① 分页控件:对表格数据设置分页后,导出方式为“png”、“pdf”的情况下,只能导出第一页的内容,即导出仪表盘的快照。
② Tab控件:V9.7及后续版本,暂不支持将tab页单独导出。
③ 滚动条:有报表滚动条存在的时候,无法将滚动条剩余部分的图表内容一起导出。
2、导出方式为“excel”时,会将各图表相应的全部数据导出在以“图表标题”命名的sheet页内。
如下图,仪表盘包含四个图表组件,导出的excel则包含仪表盘的快照和四个图表组件相应的全部数据。
3、URL控件链接内部资源,导出Excel时,只能支持导出截图,不支持导出数据。
3、导出引擎导出超时问题
如果导出引擎在导出时出现4分钟就超时问题,可能是导出引擎版本问题,可以尝试更新最新的导出引擎版版本。