1. 概述
有些情况下,用户可能需要恢复到升级前的版本。
文档提供升级后回退至原版本的操作步骤。
2. 确认数据库类型
进入「管理系统>系统管理>常规」可以看到是否使用了外接数据库,如下图所示:
如果显示「待配置」:则数据库类型为内置数据库
如果显示「已配置」:则数据库类型为外置数据库
2.1 集群相关
若用户配置了集群,需要备份「文件服务器」,详情请参见:文件服务器 3.3节
回退之后重新配置集群。
3. 使用内置数据库的回退操作
3.1 升级前备份
回退使用内置数据库的工程,需要用户在升级前进行以下备份:
关闭 FineBI 工程,在路径%FineBI%\webapps\webroot下拷贝 webroot 文件夹(备份的 webroot 文件不能放在 FineBI 的安装路径下)
注:如果 webroot 比较大(超过4G),备份需要的时间太长,可以只备份 webroot 下的 WEB-INF 文件夹;如果 WEB-INF 也非常大(超过2G),备份需要的时间还是特别长,可以只备份 WEB-INF 下的 dashboards、embed、lib、plugins、reportlets、resources 文件夹。
3.2 回退步骤
1)关闭 BI 服务器
2)替换工程
若在升级前使用内置数据库,将备份的旧工程 webroot 文件,替换%FineBI%\webapps路径下的 webroot 文件即可,如下图所示:
注:如果只备份了WEB-INF,就恢复备份的WEB-INF,启动工程;如果只备份了 WEB-INF 下的 dashboards、embed、lib、plugins、reportlets 文件夹,那么就恢复对应的文件夹。
3)重启 BI 服务器。
4. 使用外置数据库回退操作
4.1 方法一(推荐)
4.1.1 升级前备份
方法一要求用户在升级前进行过以下备份:
1)关闭 FineBI 工程,在路径%FineBI%\webapps\webroot下拷贝 webroot 文件夹(备份的 webroot 文件不能放在 FineBI 的安装路径下)
注:如果 webroot 比较大(超过 4G),备份需要的时间太长,可以只备份 webroot 下的 WEB-INF 文件夹;如果 WEB-INF 也非常大(超过 2G ),备份需要的时间还是特别长,可以只备份 WEB-INF 下的 dashboards、embed、lib、plugins、reportlets 文件夹。
2)手动备份好外接数据库,备份数据库的密码需要和之前数据库的一致。
4.1.2 回退步骤
1)关闭 BI 服务器。
2)替换工程
将备份的旧工程 webroot 文件,替换%FineBI%\webapps路径下的 webroot 文件,如下图所示:
注:如果只备份了 WEB-INF,就恢复备份的 WEB-INF;如果只备份了 WEB-INF 下的 dashboards、embed、lib、plugins、reportlets文件夹,那么就恢复对应的文件夹。
3)恢复外接数据库
若为新建一个数据库备份外接数据库,即备份恢复的数据库名、用户名、密码等与之前的数据库名不一致,则修改%FineBI%/webapps/webroot/WEB-INF/config路径下的 db.properties ,根据备份的数据库的连接信息对文件进行修改,如下图所示:
若备份恢复的数据库的数据库名、用户名、密码等跟之前的数据库的名字一样,则不需要修改其他的配置。
4)启动 FineBI 完成回退。
4.2 方法二
4.2.1 升级前备份
使用方法二需要用户在升级前进行过以下备份:
1)进入「管理系统>智能运维>备份还原」,分别对「平台配置 、报表模板、BI模板、Jar包、插件」进行「手动备份」,如下图所示:
注:2020.01.15 之前发布的 FineBI 不能成功备份钉钉配置。
4.2.2 回退步骤
1)关闭 FineBI 工程。
2)恢复报表模板。
将%FineBI%/webapps/webroot/WEB-INF目录下的 reportlets 文件夹删除;在%FineBI%/webapps/webroot/backup/reportlets/manual下,根据文件夹的名字(备份时间),找到备份的内容,将 reportlets 文件夹复制到%FineBI%/webapps/webroot/WEB-INF目录下。
3)恢复 BI 模板。
将%FineBI%/webapps/webroot/WEB-INF目录下的 dashboards 文件夹删除;在%FineBI%/webapps/webroot/backup/dashboards/manual下,根据文件夹的名字(备份时间),找到备份的内容,将dashboards 文件夹复制到%FineBI%/webapps/webroot/WEB-INF目录下;
4)恢复 jar包。
将%FineBI%/webapps/webroot/WEB-INF目录下的 lib 文件夹删除;
在%FineBI%/webapps/webroot/backup/jar/manual下,根据文件夹的名字(备份时间),找到备份的内容,将lib文件夹复制到%FineBI%/webapps/webroot/WEB-INF目录下;
5)恢复插件。
将%FineBI%/webapps/webroot/WEB-INF目录下的 plugins 文件夹删除;
在%FineBI%/webapps/webroot/backup/plugins/manual下,根据文件夹的名字(备份时间),找到备份的内容,将 plugins 文件夹复制到%FineBI%/webapps/webroot/WEB-INF目录下;
6)恢复外置数据库。
在%FineBI%/webapps/webroot/backup/config/manual下,根据文件夹的名字(备份时间),找到备份的内容,将备份的config.zip 解压得到的 finedb,替换%FineBI%/webapps/webroot/WEB-INF/embed下的 finedb 文件,如下图所示:
将%FineBI%/webapps/webroot/WEB-INF/config下的 db.properties 文件删除;此文件删除后,工程启动就读内置 finedb 的内容。
7)启动工程,完成回退,用户可以根据需要,重新配置外接数据库。
5. 集群回退
5.1 升级前备份
要求用户在升级前进行过以下备份:
1)关闭 FineBI 工程,在路径%FineBI%\webapps\webroot下拷贝 webroot 文件夹(备份的 webroot 文件不能放在 FineBI 的安装路径下),有几个节点则备份几个 webroot 工程。
2)手动备份好外接数据库,备份数据库的密码需要和之前数据库的一致。
5.2 回退步骤
1)关闭 BI 服务器。
2)替换工程
将备份的旧工程 webroot 文件,替换%FineBI%\webapps路径下的 webroot 文件,有几个节点则替换几个 webroot 工程,如下图所示:
3)恢复外接数据库
若为新建一个数据库备份外接数据库,即备份恢复的数据库名、用户名、密码等与之前的数据库名不一致,则对于其中一个节点,修改该节点%FineBI%/webapps/webroot/WEB-INF/config路径下的 db.properties ,根据备份的数据库的连接信息对文件进行修改,如下图所示:
上述节点恢复外接数据库后,将其%FineBI%/webapps/webroot/WEB-INF/config下的 db.properties 文件拷贝到其他节点的config 文件下,保证使用的是同一个外接数据库即可。
若仍然在之前的数据库中进行回退,即备份恢复的数据库名、用户名、密码等与之前的数据库名一致,则不需要修改 db.properties 。
4)启动 FineBI 完成回退。