1. 概述
2. 必做
2.1 插件相关
若安装最新版本的「云端运维」插件,每次升级都要检查一下插件是否安装至最新版本。
2.2 直连和抽取数据混合工程升级
混合工程注册成纯直连或者纯抽取数据工程,注册后必须要重启一次。
2.3 集成问题
集成用户升级后在 fine_conf_entity 表内新增参数「UpdatePushConfig.open」,默认值为 false,这样即屏蔽了 FineReport 的在线升级的消息推送,避免客户直接点击进行升级,带来后续 JAR 包不匹配等问题。
2.4 JDK 版本问题
如果升级前 jdk 版本为 oracle 的 1.8.0.25 版本,升级后会存在启动崩溃的问题,需要更换为其他版本 jdk 再做升级。
2.5 内置服务器数据集问题
若使用到「用户访问日志」业务包中的 5 个服务器数据集的,且数据有百万量级,有宕机风险。
需要将%FineBI%\webapps\webroot\WEB-INF\classes\com\fr\log 中的 class 文件替换为 log.zip。
2.6 节假日数据问题
如果用到时间过滤组件>动态时间/工作日,需要用到 2021 年的信息,在换 JAR 包外需要替换%FineBI%\webapps\webroot\WEB-INF\assets\extdata中的 holiday.csv 。
2.7 websphere部署注意事项
由于 BI 使用了 servlet 3.0 的 api,如果 websphere(websphere 9.0 默认提供了 servlet 3.0 的 jar) 没有提供 servlet 3.0 的 jar,启动就会报错。
目前有两种方式规避掉报错:
需要 websphere 提供 servlet 3.0 的运行环境(最好 websphere 能提供)
将 servlet 3.0 的 jar 包放入到 BI 的 %FineBI_HOME%\webroot\web-inf\lib 目录下。
注:热备、日志插件等内置插件,如果被禁用后,升级到 5.1.13 及之前的版本会自动启用,需要用户手动再次禁用。
3. 5.1.15 升级
3.1 集群相关
使用直连集群的用户需要在 nginx.conf 中直连请求对应的 FR.com(有的可能叫BI.cluster.com)中加一条语句:
hash "$cookie_fine_login_users - $http_sessionid";
保存退出后进入 /nginx/sbin 目录下,使用:./nginx -s reload 重启 nginx 生效。
3.2 启动缓慢
因为 5.1.15 版本新增列汇总值改动的任务会导致启动慢,升级过程中启动慢可以看日志等待(关键字:analysisTable addColumn summary upgrade),千万不要中途停止进程再重启,不然就会导致升级失败。
因为 5.1.15 版本 null 值兼容任务会导致启动慢,升级过程中启动慢可以看日志等待(关键字:filter null value upgrade),千万不要中途停止进程再重启,不然就会导致升级失败。
3.3 直连相关
直连 null 值逻辑改动:null 和 "" 区分展示,不再合并。
升级前直连组件有点击空值进行联动、钻取操作的仪表板,升级后联动/钻取效果错误,需要重新触发。
3.4 权限相关
升级到 5.1.15,原来只可以「授权使用和授权权限」的次管升级后可以分配「使用、管理和授权」权限;
同时,原来只可以「授权」部分列的次管升级后可以分配所有列权限。
4. 5.1.14 升级
升级 5.1.14 以及之后的版本,由于优化自助数据集更新设置,新增 最简自助数据集 概念。在进行升级兼容时会导致启动慢,升级过程中启动慢可以查看日志,但切勿中途kill进程再重启,否则会导致升级失败。
以下是关键日志打印信息:
TMDHandler upgrade start! #开始进行最简表的升级
{} DataAnalysisTables need to upgrade #有{}张分析性质的表需要升级处理
TMDHandler upgrade end! #最简表表升级结束
5. 5.1.12 升级
5.1 函数问题
由于 5.1.12 版本对函数部分进行了大量的优化,为了升级兼容函数问题,启动会比较慢,请耐心等待。
注:函数升级后显示不合法:抽取数据部分函数的使用规则进行了优化,之前对不规范使用的函数不会进行提示。升级后不规范使用的新增列/计算指标,会提示不合法。
解决办法:升级后使用「智能运维工具」,可一键修复不合法提示的公式。不合法提示内容详见:运算符和不合法报错
内容 | 变动 |
---|---|
加法 | 升级前,"1"+"1"=2;升级后,"1"+"1"="11" |
MONTH | 升级后不支持参数为数值,公式不合法 |
DATEDELTA | 升级后不支持无参,公式不合法 |
DATESUBDATE | 升级后不支持无参,公式不合法 |
TODATE | 升级后只支持(数值/日期/文本) 或 (文本,文本)或(文本,文本,文本)的参数使用,例如TODATE(20180305,"yyyyMMdd")升级后会不合法 |
AND/OR | 升级后要求参数为bool类型或数值类型(非0为1) |
SPLIT | 升级后只支持输入两个参数,如SPLIT(文本,"/",",")这种写法是不合法的,且旧版本也无法正确计算 |
IF | 升级后旧的公式中if函数兼容为oldif函数,计算逻辑和结果保持同升级前。新输入的if函数走新计算逻辑:只支持(布尔/数值,参数,参数)的用法 |
SWITCH | 升级后如果输入的返回类型参数不同,则默认返回文本;且要求参数至少三个。 |
5.2 防宕机插件
升级到 5.1.12 必须同时升级防宕机插件到最新的 2.0 版本,安装插件后,重启后生效。
6. 5.1.11 升级
1)升级到 5.1.11 和之后的版本
外接数据库为 mysql 数据库,且表数据量很多,可以检查数据库 max_allowed_packet 参数项是否过小,需要调整为1073741824,即 1G,升级完成后建议再改回原来的数值。
参数检查可输入:show VARIABLES like '%max_allowed_packet%'
若参数过小,升级日志中的关键报错:
jdbc.PacketTooBigException: Packet for query is too large (1036056 > 999424).
You can change this value on the server by setting the max_allowed_packet' variable
工程可以启动,只是部分升级失败的表会有异常。
2)因为 5.1.11 版本数据集转义名问题会导致启动慢。
升级过程中启动慢可以看日志,但切勿中途停止进程再重启,否则会导致升级失败。
转义名日志:
analysisTable transferName upgrade start!
XXX analysisTables need to upgrade #XXX是表数量
upgrade table XXX error! #XXX是表转义名
XXX/YYY have been upgraded #XXX是已经升级表数量,YYY是总共要升级的表数量
analysisTable transferName upgrade end!
7. 5.1.9 升级
若用户需要从 5.1.2 工程升级 5.1. 5纯直连工程在向上升级,请避开 5.1.9 版本,直接升级到 5.1.10 及以后版本。
8. 5.1.8 升级
用户升级此版本时,需要同步升级 BI 模板屏幕自适应插件 为 V1.1.48 版本,原因是新插件适配了 BI 新发布的 Tab 组件功能。
9. 5.1.7 升级
如果在升级前用户迁移了外接数据库,需要检查%FineBI%/webroot/WEB-INF/config/db.properties中「hibernate.hbm2ddl.auto」值是否设置为「update」,如果不是,需要设置为「update」
否则在升级时不会自动检查更新表结构,可能导致行权限等配置丢失。
10. 5.1.6 升级
升级 5.1.6 版本,会存在选中「智能推荐」的指标卡在预览区域添加指标字段,在横轴添加维度字段,维度对指标设置排序/过滤不生效的问题,原因是产生了冗余字段,建议用户直接升级 5.1.9 及之后的版本。