1、升级前准备编辑
升级前我们需要准备升级工具及升级文件等,准备如下:
a. 升级工具:
联系帆软技术支持获取Linux版本升级工具FineBIUpgrade_v5_1_linux.sh,如下图:
b. 升级工程:
在升级前,我们需要确保使用的版本为FineBI4.1,建议使用最新版本的jar包,若版本不一致可参考FineBI升级指南升级;
升级所需4.1工程目录为%FineBI%/webapps/WebReport下的WEB-INF文件夹,如下:(具体为biReport、finedb、resources文件夹下全部内容)
c. 5.1工程:
若升级的FineBI4.1为直接安装版本,则需要准备一个单独安装的5.1工程,5.1的安装可参考FineBI安装与启动;
若升级的FineBI4.1为Web容器部署,则不需要另外安装5.1,此步骤不需准备;
d. 安装JDK:
在Linux系统中安装JDK1.8版本,因FineBI5.1支持的JDK版本如下:JDK1.8及以上(32位:Oracle;63位:Oracle、IBM J9)
e. 其他说明:
若工程为从低版本先升级为的4.1版本,建议使用该版本启动一次,正常关闭后再开始后续的升级操作;
2、升级工具操作编辑
a. 使用升级工具:
1)进入升级工具文件所在目录,先给文件赋权限,使用命令如下:
2)使用如下命令执行升级工具:
./FineBIUpgrade_v5_1_linux.sh 2>&1 | tee mylog.log
注:此处升级日志将重定向至文件,建议使用该命令。
3)选择一种语言,此处我们选择中文(简体),输入1并按回车键,如下图:
4)选择升级工程所在目录,输入第一章节准备的升级工程所在目录。需要是包含WEB-INF的文件夹,通常为WebReport,如下图:
注:如果非Tomcat部署或WebReport名称有修改,则路径指定为包含WEB-INF的上级目录。
5)输入工程备份文件夹,可以为任意的路径备份。如下图,输入想要备份的目录并敲击回车键。
6)随即进入工程备份及升级阶段,在升级过程中会输出日志(使用第二步骤重定向的命名,该日志将直接打印至mylog.log中),如下图:
注:此处在升级过程中,不能关闭升级程序,且不能对升级工程做任何修改。
7)在升级快结束阶段会进行环境检查,并提示环境检查结果。比如检测端口占用等,需要手动关闭占用端口的程序后续才能成功启动升级后的工程;
升级成功后,会提示升级完成,如下图:
8)升级后的工程WEB-INF文件夹如下图所示:
且升级后的WebReport目录下会生成升级检测报告:upgrade-report.xlsx 和升级日志:mylog.log;
b. 替换5.1工程:
进入升级好的4.1工程下,将WEB-INF文件夹拷贝至安装好的5.1工程目录../webapps/webroot/下替换,如下图:
注:此处若为Tomcat服务器下的升级,还需要将环境上安装的JDK目录lib下面的tools.jar拷贝到%Tomcat_home%/lib或%Tomcat_home%/webapps/webroot/WEB-INF/lib任意位置后,再进行后续启动验证。否则会启动不成功。
c. 启动验证:
3、升级核对和调整编辑
4、日志说明编辑
升级工具日志:
Linux系统中执行升级工具若不使用重定向,日志会直接输出在终端中;而在上述介绍的命令./FineBIUpgrade_v5_1_linux.sh 2>&1 | tee mylog.log将其重定向到文件中,升级日志即为mylog.log;
工程日志:
5.1工程的执行日志为:%FineBI%/logs/fanruan.log,且Windows和Linux系统均为该日志。若升级后,工程无法启动等情况时,可查看该日志。
5、升级常见问题编辑
1)Q:在执行升级工具时,提示该工程已经升级过,但实际并未升级?
A:可进入升级工程目录../WebReport/WEB-INF下,将embed文件夹删除,再执行升级工具;
2)Q:Linux下执行检测/升级工具报错sun.font.CompositeFont.getSlotFont,如下图:
A:该报错与Linux字体有关,可参考此处数组越界异常增加字体解决;
3)Q:Linux下执行升级工具报错 getVersion,如下图:
A:出现该报错,需首先确认该Linux系统中的JDK版本,需要为JDK1.8版本,若不是需要参考安装JDK1.8版本安装;
其次需要确认系统环境变量的配置是否正确,包括JAVA_HOME、JRE_HOME、CLASSPATH、JAVA_PATH、PATH等;
此外,export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64 类似这样的链接库path也需要配置。
4)Q:升级过程中遇到分布式ContextManager初始化失败,报错为 java.lang.NoClassDefFoundError: Could not initialize class com.finebi.spider.cluster.spark.ContextManager或者java.net.UnknownHostException?
A:检查是否升级工具运行的环境没有配置hostname,这里分布式初始化失败了。Windows和Linux均可以使用命令hostname查看,若没有配置,为其配置hostname,配置好后重新升级;
注:除上述所列问题外,若在升级过程中有其他问题,请联系帆软技术支持并提供升级日志;若在升级后有问题,请联系帆软技术支持并提供升级日志及工程日志。