1. 概述
1.1 版本
| FineBI服务器版本 | 功能变更 |
|---|---|
| 6.0 | - |
1.2 应用场景
相比于普通单机工程,容器化部署的FineBI工程,升级和维护成本较低。
本文方案,帮助用户将原有非容器化部署的单机工程,迁移为容器化部署的单机工程。
2. 新工程准备
2.1 部署运维平台
容器化FineBI工程,需要通过运维平台部署。因此用户需要先部署一个FineOps运维平台。
详情请参见:部署运维平台
2.2 部署容器化工程
进行迁移前,用户需要先通过运维平台部署一个容器化单机工程。
详情请参见:部署新项目-FineBI
注1:请记录下MySQL组件的相关信息,建议修改密码,提高安全性。

注2:请记录下FineBI工程的挂载路径,用户可自定义路径。这是工程文件的存放路径,后面步骤中需要用到。

2.3 确认新工程服务器剩余磁盘空间
1)检查原非容器化工程的大小。
2)根据原工程大小,适度扩大新容器化工程所在服务器节点剩余磁盘空间。
3. 原工程准备
3.1 升级工程
由于容器化部署的 FineBI 工程,一般为帆软发布的较新版本。
因此用户需要将原非容器化部署的工程升级到同一新版本,方可进行同版本间的迁移。
1)检查新容器化工程版本
管理员登录新容器化工程,点击「管理系统>注册管理>版本信息」,查看新容器化工程的小版本号(精确到JAR包日期)。

2)获取JAR包
付费用户请联系帆软技术支持,获取同一小版本的工程JAR包(精确到JAR包日期)。
技术支持联系方式:前往「服务」,选择「在线支持」、电话「400-811-8890」。
3)升级原非容器化工程
请参考「6.0.5之后的版本升级」文档升级工程至指定版本。
3.2 备份工程
在进行工程迁移前,为避免迁移失败出现文件丢失的情况,请务必对原非容器化工程进行备份后再迁移。
备份操作请参见:备份还原

4. 迁移工程
4.1 同步finedb配置库
为了保证新老工程的平台配置完全一致,需要同步两个工程的配置库。
1)查看finedb位置
管理员登录原非容器化工程,点击「管理系统>系统管理>常规」,检查外接数据库是否已配置。
已配置:点击「已配置」,即可查看该工程的配置库位置信息。
未配置:如未配置,该工程的配置库即为工程%BI_Home%\webapps\webroot\WEB-INF\embed文件夹下的finedb数据库。

2)迁移数据库数据
自行使用第三方工具将上节确认的数据库中的表结构和数据导出。
导入到2.2节记录的MySQL数据库中。
3)新工程对接配置库
管理员登录新容器化工程,点击「管理系统>系统管理>常规>已配置」。
修改数据库名称为上节导入的数据库名称
输入2.2节记录的MySQL数据库密码
取消勾选「迁移数据至要启用的数据库」
点击「启用新数据库」
当出现提示「已成功切换至目标数据库!」,则代表外接数据库切换成功。

4.2 关闭原非容器化工程
请参考 关闭或重启FineBI工程 文档,关闭原非容器化部署的工程。
4.3 关闭新容器化工程
用户登录运维平台,点击「运维管理>项目管理」,点击新容器化部署的工程项目后的「组件管理」按钮。
找到bi6组件,点击「停止」按钮,即可关闭新容器化工程。如下图所示:

4.4 拷贝文件
将原非容器化工程的必要文件,拷贝到容器化工程中。
1)请提前检查原非容器化部署的工程,是否配置了外挂目录、是否配置共享文件服务器,确保拷贝到正确的文件。
2)新容器化工程外挂文件所在位置,为2.2节记录的挂载路径。
3)将以下文件,从原非容器化部署的工程,拷贝到新容器化部署的工程中:
注:请勿直接拷贝整个webroot文件夹到容器化工程的外挂目录,部分文件不可以被覆盖。
| 原非容器化工程目录 | 新容器化工程外挂目录 | 原非容器化部署的工程 |
|---|---|---|
| %Tomcat_HOME%/logs | %BI_HOME%/fanruanxxx/bi6/tomcat_logs | 作用:Tomcat通用日志位置 是否必须拷贝:用户自行决定,Tomcat历史访问日志,可不拷贝 |
| %Tomcat_HOME%/webapps/webroot/backup | %BI_HOME%/fanruanxxx/bi6/backup | 作用:工程历史备份文件 是否必须拷贝:用户自行决定,可存储在原始的目录下备份,可不拷贝 |
| %Tomcat_HOME%/webapps/webroot/bi-data | %BI_HOME%/fanruanxxx/bi6/bi-data | 作用:FineBI抽取数据 是否必须拷贝: 如果新老工程在同一服务器上,可重新-v挂载原工程的bi-data文件夹,无需拷贝 如果新老工程不在同一服务器上,不建议拷贝,该文件夹一般数据量太大,拷贝困难,可在新工程启动后重新抽取数据 |
| %Tomcat_HOME%/webapps/webroot/logs | %BI_HOME%/fanruanxxx/bi6/logs | 作用:swift日志 是否必须拷贝:用户自行决定 如果不拷贝,会丢失工程历史操作日志(即logdb),如对历史使用情况无要求,无需拷贝 |
| %Tomcat_HOME%/webapps/webroot/WEB-INF/assets/temp_attach | %BI_HOME%/fanruanxxx/bi6/assets/temp_attach | 作用:FineBI数据表相关信息 是否必须拷贝: 如果新老工程在同一服务器上,可重新-v挂载原工程的bi-data文件夹,无需拷贝 如果新老工程不在同一服务器上,必须拷贝,该文件夹中存放着工程Excel原始文件信息,如不拷贝该文件夹会导致原始Excel丢失 |
| %Tomcat_HOME%/webapps/webroot/WEB-INF/assets/vcs | %BI_HOME%/fanruanxxx/bi6/assets/vcs | 作用:FineReport模板备份文件 是否必须拷贝:用户自行决定 如果工程未使用FineReport模板,或不需要回退历史开发的FineReport模板,则无需拷贝 |
| %Tomcat_HOME%/webapps/webroot/WEB-INF/assets/其他文件 | %BI_HOME%/fanruanxxx/bi6/assets/其他文件 | 作用:通用的共享持久化目录 是否必须拷贝:必须拷贝 工程正常运行所需要的文件,如不拷贝会影响工程正常使用 |
| %Tomcat_HOME%/webapps/webroot/WEB-INF/classes | %BI_HOME%/fanruanxxx/bi6/classes | 作用:工程调用的默认和自定义class文件 是否必须拷贝:必须拷贝 有可能存在自定义的class文件,如不拷贝会影响工程正常使用 |
| %Tomcat_HOME%/webapps/webroot/WEB-INF/customLib | %BI_HOME%/fanruanxxx/bi6/customLib | 作用:工程定制/外部引入的JAR包 是否必须拷贝:必须拷贝,如不拷贝会影响模板访问 |
| %Tomcat_HOME%/webapps/webroot/WEB-INF/dpworks | %BI_HOME%/fanruanxxx/bi6/dpworks | 作用:FineDataLink任务相关的配置文件 是否必须拷贝:必须拷贝,如不拷贝会影响FineDataLink任务使用 (如不存在该文件夹,说明工程没有使用FDL相关功能,略过) |
| %Tomcat_HOME%/webapps/webroot/WEB-INF/plugins | %BI_HOME%/fanruanxxx/bi6/plugins | 作用:插件相关文件 是否必须拷贝:必须拷贝,如不拷贝会影响插件相关功能的实现 |
| %Tomcat_HOME%/webapps/webroot/WEB-INF/reportlets | %BI_HOME%/fanruanxxx/bi6/reportlets | 作用:FineReport模板存放目录 是否必须拷贝:用户自行决定 如果工程未使用FineReport模板,则无需拷贝 |
| %Tomcat_HOME%/webapps/webroot/WEB-INF/schedule | %BI_HOME%/fanruanxxx/bi6/schedule | 作用:定时调度生成的文件 是否必须拷贝:用户自行决定 如果不拷贝,定时任务挂载到决策平台的结果报表无法访问 |
4.5 启动容器化工程
文件拷贝成功后,用户登录运维平台,点击「运维管理>项目管理」,点击新容器化部署的工程项目后的「组件管理」按钮。
找到bi6组件,点击「启动」按钮,即可启动新容器化工程。如下图所示:

4.6 授权迁移
若老工程进行了注册,一般需要将授权迁移到新工程。容器化工程推荐使用 容器私有云认证 方式。
1)参考 关闭或重启FineBI工程 文档,启动原非容器化部署的工程。
2)参考 授权迁移插件 的使用步骤,向商务索要一个授权迁移插件,销毁原非容器化工程的旧授权。
3)找到原非容器化工程%BI_HOME%/webroot/WEB-INF/resources文件夹下的销毁凭证。
4)参考 容器私有云认证 的使用步骤,向商务索要注册镜像文件fanruan_license_server.tar,并参考文档为新容器化工程进行授权。
请在邮件中附上第三步获取的销毁凭证。并注明是「非容器化工程迁移容器化工程」
