Smartbi主体应用程序,核心程序,必须安装。
服务器推荐配置:
Smartbi | 8核+ | 16G+ | 200GB+ |
1. 环境准备
①在apache官网下载tomcat安装包
tomcat8 官方下载地址:https://tomcat.apache.org/download-80.cgi
tomcat9 官方下载地址:https://tomcat.apache.org/download-90.cgi
如下图,下载zip包或者tar.gz包即可。
注意 | ||
---|---|---|
| ||
tomcat版本要求使用最新版本,可以降低中间件的安全漏洞风险。 |
②在oracle官网下载64位的jdk安装包
③创建Smartbi知识库,知识库字符集编码请指定GBK或UTF-8。
在数据库服务器上创建一个空库,作为Smartbi的知识库。
注意 | ||
---|---|---|
| ||
Smartbi支持的知识库版本信息,请查看系统环境要求的知识库要求章节 |
1.1. 防火墙配置
为了便于安装,建议在安装前关闭防火墙。使用过程中,为了系统安全可以选择启用防火墙,但必须启用Smartbi使用到的相关端口。
注意 | ||
---|---|---|
| ||
配置防火墙,selinux相关操作,需要管理员权限。 |
1.1.1. 关闭防火墙
临时关闭防火墙(立即生效)
代码块 | ||
---|---|---|
| ||
# systemctl stop firewalld |
永久关闭防火墙(重启后生效)
代码块 | ||
---|---|---|
| ||
# systemctl disable firewalld |
查看防火墙状态
代码块 | ||
---|---|---|
| ||
# systemctl status firewalld |
1.1.2. 开启防火墙
相关服务及端口对照表
服务名 | 开放端口 |
Smartbi | 8080 |
如果确实需要打开防火墙安装,需要给防火墙放开以下需要使用到的端口
开启端口:8080
代码块 | ||
---|---|---|
| ||
# firewall-cmd --permanent --add-port=8080/tcp |
配置完以后重新加载firewalld,使配置生效
代码块 | ||
---|---|---|
| ||
# firewall-cmd --reload |
查看防火墙的配置信息
代码块 | ||
---|---|---|
| ||
# firewall-cmd --list-all |
1.1.3. 关闭selinux
临时关闭selinux,立即生效,不需要重启服务器。
代码块 | ||
---|---|---|
| ||
# setenforce 0 |
永久关闭selinux,修改完配置后需要重启服务器才能生效
代码块 | ||
---|---|---|
| ||
# sed -i 's/=enforcing/=disabled/g' /etc/selinux/config |
1.2 安装Java环境
安装包解压到/data目录
代码块 | ||
---|---|---|
| ||
# tar -zxvf jdk8.0.202-linux_x64.tar.gz -C /data |
2. 部署Smartbi
注意 | ||
---|---|---|
| ||
1、安装部署、启动smartbi等,可以使用普通用户权限进行操作。 2、部署过程中用普通用户操作,则后续的所有运维操作等,都需要用普通用户来执行。如果切换其他用户操作,可能会因为权限问题导致服务启动失败。 3、tomcat的端口配置如果小于1024,也需要管理员权限才能启动服务。 4、使用磁盘空间比较充足的磁盘部署smartbi。 |
2.1. 安装Tomcat
① Tomcat安装包解压到/data目录
代码块 | ||
---|---|---|
| ||
# tar -zxvf apache-tomcat-8.5.51.tar.gz -C /data |
② 修改Tomcat启动参数
进入Tomcat下的bin目录
代码块 | ||
---|---|---|
| ||
# cd /data/apache-tomcat-8.5.51/bin/ |
创建Tomcat启动参数文件:setenv.sh
代码块 | ||
---|---|---|
| ||
# vi setenv.sh |
具体参数如下,此步骤不可省略(根据实际部署替换配置中的路径):
代码块 | ||||
---|---|---|---|---|
| ||||
export JAVA_HOME="/data/jdk8.0.202-linux_x64" export JRE_HOME="/data/jdk8.0.202-linux_x64/jre" export CATALINA_HOME="/data/apache-tomcat-8.5.51" export JAVA_OPTS="-Dfile.encoding=UTF-8 -Duser.region=CN -Duser.language=zh -Djava.awt.headless=true -Xms2048m -Xmx8192m -XX:MaxMetaspaceSize=512m -Dmail.mime.splitlongparameters=false -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -XX:+UseG1GC" |
注意 | ||
---|---|---|
| ||
配置setenv.sh文件,建议在linux环境直接编辑,如果在windows上编辑后上传到Linux服务器,需要注意setenv.sh文件换行符转换成Unix格式。可以source setenv.sh ,如果没有报错,说明文件配置正常。 -Xms2048m -Xmx8192m:XmsJVM最小内存,-Xmx:JVM最大内存,可根据服务器资源调整大小Xmx:JVM最大内存,可根据服务器资源调整大小,一般最大内存配置不超过服务器总内存的70%。 |
赋予setenv.sh相关权限
代码块 | ||
---|---|---|
| ||
# chmod 755 setenv.sh |
③修改tomcat的最大线程数
修改tomcat/conf/server.xml文件,修改maxThreads为1000。如下图所示。
④增加请求响应时间
修改tomcat/conf/server.xml文件。
修改accesslog 的pattern,增加%D 处理请求时间参数。
具体修改参考 :pattern="%h %t "%r" %s %b %Dms"
配置完成后,启动tomcat,在tomcat/logs/localhost_access_log.xxxxx.txt的最后一列,会有一个请求响应时间信息。如下图所示。
⑤修改tomcat上传文件大小限制
tomcat8.x上传文件大小(maxPostSize)默认限制为2M。在仪表盘导出大的报表等场景会失败。
修改tomcat/conf/server.xml文件。
添加 maxPostSize="-1"
配置参考下图:
注意 | ||
---|---|---|
| ||
maxPostSize="-1"表示不限制上传文件大小。 可以根据实际情况,自行调整maxPostSize配置参数值。 |
2.2. 部署Smartbi
2.2.1. 上传war包
将smartbi.war上传到/data/apache-tomcat-8.5.51/webapps目录下
s
2.2.2. 启动Tomcat 服务器
进入/data/apache-tomcat-8.5.51/bin目录下,执行startup.sh脚本启动tomcat程序
代码块 | ||
---|---|---|
| ||
cd /data/apache-tomcat-8.5.51/bin ./startup.sh |
注意 |
---|
1、必须进入到tomcat/bin目录,然后才能运行startup.sh脚本启动smartbi。 2、如果要在任意路径启动smartbi,在启动时添加指定smartbi配置文件路径j的vm参数“-DSmartbi.ConfigFileDir=<path>”,具体可以参考文档 部署smartbi时,启动目录下的哪些文件可指定路径? |
2.3. 配置Smartbi
Tomcat服务启动完成后,访问 http://IP:PORT/smartbi/vision/config 进入Smartbi系统配置页面。
首次登陆会要求设置Config页面登陆密码
注意 |
---|
Config页面登陆账号密码与Smartbi访问账号密码是不同的 |
完成知识库连接配置、上传License文件、以及其他设置项,然后保存配置。配置详情参考Smartbi系统配置信息说明
2.4. 上传字体
将simsun.ttc(宋体)上传到/data/apache-tomcat-8.5.51/bin/Font-smartbi目录下,附件如下:
2.5. 重启Tomcat服务
Smartbi config页面配置保存完成后需要重启Tomcat服务,完成知识库表的自动创建工作。
① 停止tomcat程序
代码块 | ||
---|---|---|
| ||
# ps -ef|grep tomcat # kill -9 tomcat进程ID |
注意 | ||
---|---|---|
| ||
如下图所示,tomcat的进程ID为23225 |
② 重新启动Tomcat服务
代码块 | ||
---|---|---|
| ||
cd /data/apache-tomcat-8.5.51/bin ./startup.sh |
等待Tomcat服务启动和Smartbi完成初始化即可访问 Smartbi:http://IP:PORT/smartbi/vision/index.jsp
Smartbi 初始登陆账号:admin 密码:manager
首次登陆会要求修改密码。
Smartbi部署完成!
2.6. Tomcat设置开机启动
注意 | ||
---|---|---|
| ||
配置Tomcat开机启动,需要管理员权限。 如果需要使用普通用户启动tomcat,可以使用 “su - 普通用户名 $CATALANA$CATALINA_HOME/bin/startup.sh” 来启动smartbi |
进入/etc/init.d目录,创建Tomcat启动配置文件
代码块 | ||
---|---|---|
| ||
vi /etc/init.d/tomcat |
配置参考如下:
代码块 | ||||
---|---|---|---|---|
| ||||
#!/bin/bash # tomcat startup script for the Tomcat server # chkconfig: 345 80 20 # description: start the tomcat deamon # # Source function library . /etc/rc.d/init.d/functions prog=tomcat JAVA_HOME=/home/smartbi/jdk1.8.0_181/ #注意替换成实际的JAVA路径 export JAVA_HOME CATALANACATALINA_HOME=/data/apache-tomcat-8.5.57/ #注意替换成实际的Tomcat目录路径 export CATALINA_HOME case "$1" in start) echo "Starting Tomcat..." $CATALANA$CATALINA_HOME/bin/startup.sh ;; stop) echo "Stopping Tomcat..." $CATALANA$CATALINA_HOME/bin/shutdown.sh ;; restart) echo "Stopping Tomcat..." $CATALANA$CATALINA_HOME/bin/shutdown.sh sleep 2 echo echo "Starting Tomcat..." $CATALANA$CATALINA_HOME/bin/startup.sh ;; *) echo "Usage: $prog {start|stop|restart}" ;; esac exit 0 |
注意 | ||
---|---|---|
| ||
Smartbi开机启动需要指定相关文件的路径: 1、启动参数setenv.sh文件,在export JAVA_OPTS=末尾添加Smartbi Config页面存放目录 -DSmartbi.ConfigFileDir=/data/apache-tomcat-8.5.57/bin #注意替换成实际的路径 2、Smartbi Config页面中的目录配置设置成绝对路径。配置详情参考Smartbi系统配置信息说明 3、修改smartbi.properties文件,将文件中的 ./ 路径修改成绝对路径。该文件一般在目录“Tomcat\bin”下 如未修改以上配置,Smartbi重启时会读取不到相关的文件,导致Smartbi启动不成功。 |
设置开机启动
代码块 | ||
---|---|---|
| ||
chmod +x /etc/init.d/tomcat #添加执行权限 chkconfig tomcat on #添加到开机启动 chkconfig --list #查看开机启动服务列表 |
3. 常见问题
3.1. Smartbi日志文件路径
Smartbi日志存在路径:默认情况下,Smartbi日志保存在<tomcat安装路径>/bin/ 目录。确切路径可以登录Smartbi的config页面:http://IP:PORT/smartbi/vision/config.jsp 查看服务器日志中日志的存放位置的配置值。
3.2. 数据库用户没有创建表权限
问题:如果启动服务器后报这样的错:Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: CREATE command denied to user 'admin'@'localhost' for table 't_upgradelock'。
问题原因:是因为当前数据库用户 admin 没有权限创建表。
解决方案:给这个用户授予相关操作权限。
3.3. 服务器端口被占用
问题:启动服务器不成功,查看smartbi.log日志文件,出现下面信息:
问题原因:端口号被占用。
解决方案:
方法一,停止占用端口的应用。
方法二,更改Smartbi应用服务器的默认端口。
3.4. 知识库字符集不正确
问题:启动服务器不成功,查看smartbi.log日志文件,出现下面信息:
问题原因:知识库实际字符集编码和smartbi config页面的配置的知识库字符集编码不一致导致。
解决方案:Smartbi可以支持GBK和UTF-8字符集编码。建议新创建一个指定GBK或UTF-8字符集编码的空库,在smartbi config页面配置和知识库一致的字符集编码,然后再重新启动smartbi。
如mysql数据库指定GBK字符集:create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
① 提升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启动速度。 |
② 取消Tomcat上传大小限制
Tomcat8.x默认上传文件大小(maxPostSize)限制为2M,如果需要取消maxPostSize限制,需要将maxPostSize的值设置为负数:
vi <Tomcat8.x目录>/conf/server.xml
添加 maxPostSize="-1"
配置参考下图:
重启Tomcat,使其生效。
3.6 smartbi3.5
. Tomcat8.x部署注意事项smartbi 启动提示权限不足
问题:smartbi启动,提示无法访问日志文件
问题原因:部署smartbi时,用root用户或其他用户来部署,启动时又使用另一个普通用户,导致对文件没有写权限。
解决方案:给整个tomcat目录赋予当前用户的权限。
3.
76 解析 HTTP 请求 header 错误
问题:启动smartbi,访问smartbi失败,tomcat日志提示解析 HTTP 请求header 错误
问题原因:使用https请求http服务,导致http请求失败。
解决方案:访问smartbi的url,换成http,不要用https。
...