1. 概述
1.1 版本
报表服务器版本 | 功能变更 |
---|---|
11.0 | - |
1.2 应用场景
企业部署完工程后,可能会因为服务器到期、测试生产环境互相拷贝等因素,需要迁移工程。
1.3 方案选择
帆软提供各种情况下的工程迁移方案。
本文方案,帮助用户将原有非容器化部署的单机工程,迁移为非容器化部署的单机工程。
建议在查看本文方案之前,参考下表选择更适合自己的迁移方案。如不需要更换工程部署方式,无需查看下表,参考本文迁移即可。
现有工程 | 迁移后工程 | 方案说明 | |
---|---|---|---|
迁移方案选择主旨:优先选择集群、优先选择容器化部署 集群优势:相比于单机工程,集群具有高可用性、高性能、易于管理、可伸缩性和安全保障等优点,适用于企业级的报表生成和管理需求 容器化部署优势:相比于传统部署架构,容器化部署具有隔离性、可移植性、灵活性、可伸缩性和可控性等优点,可大幅降低企业的维护成本和资源成本 | |||
单机工程 | 非容器化部署 | 容器化集群 | 服务器资源充足 工程推荐配置节点数≥2节点 |
容器化单机 | 服务器资源紧张 | ||
非容器化单机 | 仍坚持传统方式迁移至新单机工程,可参考本文进行 | ||
容器化部署 | 容器化集群 | 服务器资源充足 工程推荐配置节点数≥2节点 | |
容器化单机 | 服务器资源紧张 | ||
集群工程 | 非容器化部署 | 容器化集群(迁移工程和集群组件) | 1)服务器资源充足 2)迁移后原集群工程仍可启动 3)全新部署新集群工程和集群组件 |
容器化集群(仅迁移工程) | 1)服务器资源紧张 2)迁移后仅需启动新集群工程,无法启动原工程 3)部署新集群工程,调用原集群组件 | ||
容器化部署 | 容器化集群 | 唯一选择 |
2. 新工程准备
2.1 部署新工程
请参考 Linux下Tomcat服务器部署包 ,部署一个全新FineReport工程。
2.2 确认新工程服务器剩余磁盘空间
1)检查原工程的大小。
2)根据原工程大小,适度扩大新工程所在服务器节点剩余磁盘空间,建议大于原工程的两倍。
2.3 确认新工程版本
由于官网下载的部署包,一般为帆软发布的最新版本。因此用户需要先确认新工程版本,确保后续升级旧工程到同一版本。
管理员登录新工程,点击「管理系统>注册管理>版本信息」,查看新工程的小版本号(精确到JAR包日期)。
2.4 关闭新工程
请参考「关闭或重启FineReport工程」文档,关闭新工程。
3. 原工程准备
3.1 备份原工程
在进行工程迁移前,为避免迁移失败,导致工程文件丢失无法回退等问题,请务必对原工程进行备份后再进行后续操作。
请参考 工程备份还原方案 4.1节,对工程进行备份。
3.2 升级原工程
由于新部署的 FineReport 工程,一般为帆软发布的较新版本。
因此用户需要将原工程升级到同一新版本,方可进行同版本间的迁移。
1)判断是否需要升级
管理员登录老工程,点击「管理系统>注册管理>版本信息」,查看老工程的小版本号,检查是否与2.3节新工程版本号一致。
若一致,则可跳过本节步骤;若不一致,必须执行本节操作,升级到同一版本方可。
2)获取JAR包
付费用户请联系帆软技术支持,获取2.3节新工程同一小版本的工程JAR包(精确到JAR包日期)。
技术支持联系方式:前往「服务」,选择「在线支持」、电话「400-811-8890」。
3)升级原工程
请参考「FineReport小版本升级」文档升级工程至指定版本。
3.3 确认原工程配置库
为了保证新老工程的平台配置完全一致,需要同步两个工程的配置库。用户需要先确认老工程所用的finedb数据库信息。
管理员登录原工程,点击「管理系统>系统管理>常规」,检查外接数据库是否已配置。
3.3.1 未配置外接数据库
未配置:说明工程未配置外接数据库,无需额外操作
(对于正式工程,建议管理员为其配置外接数据库,工程使用更加稳定,详情请参见:配置外接数据库)
3.3.2 已配置外接数据库
已配置:点击「已配置」,记录该工程的外接数据库位置信息。用户必须确保新工程所在服务器与该外接数据库所在服务器互通。
请使用第三方数据库管理工具,访问原工程的配置库。
对配置库表空间进行备份,假设原配置库的表空间名称为finedb,备份表空间的名称为finedbbak。
2)对接备份库管理员登录原工程,点击「管理系统>系统管理>常规」,点击外接数据库「已配置」
修改数据库名称为备份表空间名称
输入数据库用户密码
请勿勾选「迁移数据至要启用的数据库」
点击「启用新数据库」即可。
3.4 关闭原工程
请参考「关闭或重启FineReport工程」文档,关闭原工程。
3.5 检查原工程路径
一般来说,工程路径为%Tomcat_HOME%/webapps/webroot,但是为了配置短链,可能配置了外挂目录,工程路径就会发生变化。
检查方法:查看原工程%Tomcat_HOME%/conf/server.xml文件,查看是否配置了docBase,若配置了,那么该路径即为原工程外挂目录的路径
4. 拷贝文件
请将原工程路径webroot文件夹内容,拷贝到新工程%Tomcat_HOME%/webapps/webroot中。
1)请提前按照3.5节,检查原工程是否配置了外挂目录,确保拷贝到正确的文件。
2)请勿使用3.1节备份的文件,而是使用工程最终的文件进行拷贝操作。
3)若服务器资源不足,webroot文件夹过大,请至少拷贝工程中以下文件:
工程文件 | 说明 |
---|---|
/webroot/backup | 作用:工程历史备份文件 是否必须拷贝:用户自行决定,可存储在原始的目录下备份,可不拷贝 |
/webroot/help | 作用:工程自定义内容 是否必须拷贝:必须拷贝 该文件夹中存放着自定义地图、自定义函数、定制css、定制js等文件,不拷贝会导致模板预览出现异常 |
/webroot/logs | 作用:swift日志 是否必须拷贝:用户自行决定 如果不拷贝,会丢失工程历史操作日志(即logdb),「管理系统>平台日志」功能无数据 如对历史使用情况无要求,无需拷贝 |
/webroot/WEB-INF/assets/temp_attach | 作用:读写缓存存储路径 是否必须拷贝:必须拷贝 该文件夹中存放着工程读写(图片)缓存,不拷贝可能会导致模板设置的背景图片预览为空 |
/webroot/WEB-INF/assets/vcs | 作用:FineReport模板备份文件 是否必须拷贝:用户自行决定 如果工程不需要回退历史开发的FineReport模板,则无需拷贝 |
/webroot/WEB-INF/assets/其他文件 | 作用:通用的共享持久化目录 是否必须拷贝:必须拷贝 工程正常运行所需要的文件,如不拷贝会影响工程正常使用 |
/webroot/WEB-INF/classes | 作用:工程调用的默认和自定义class文件 是否必须拷贝:必须拷贝 有可能存在自定义的class文件,如不拷贝会影响工程正常使用 |
/webroot/WEB-INF/config | 作用:配置库相关文件 是否必须拷贝:必须拷贝 平台调用的配置库(finedb),如不拷贝会影响工程正常使用 |
/webroot/WEB-INF/dpworks | 作用:FineDataLink任务相关的配置文件 是否必须拷贝:必须拷贝,如不拷贝会影响FineDataLink任务使用 (如不存在该文件夹,说明工程没有使用FDL相关功能,略过) |
/webroot/WEB-INF/embed | 作用:存放着工程曾经/现在使用的内置finedb数据库 是否必须拷贝:必须拷贝,即使现在使用着外接配置库,也建议拷贝,方便回退 |
/webroot/WEB-INF/lib | 作用:工程原有/外部引入的JAR包,提供工程所有基础功能,是工程的关键文件 是否必须拷贝:必须拷贝,如不拷贝会影响模板访问 |
/webroot/WEB-INF/plugins | 作用:插件相关文件 是否必须拷贝:必须拷贝,如不拷贝会影响插件相关功能的实现 |
/webroot/WEB-INF/reportlets | 作用:FineReport模板存放目录 是否必须拷贝:必须拷贝,如不拷贝会导致工程所有模板丢失 |
/webroot/WEB-INF/schedule | 作用:定时调度生成的文件 是否必须拷贝:用户自行决定 如果不拷贝,定时任务挂载到决策平台的结果报表无法访问 |
5. 启动原工程
5.1 启动原工程
参考 关闭或重启FineBI工程 / 关闭或重启FineReport工程 文档,启动原工程。
5.2 对接原配置库
若3.3节原工程未配置外接数据库,仅使用内置数据库,请直接跳过本节内容。
3.3节,原工程对接了备份配置库,此时需要将其切换为原配置库,确保新老工程不会同时对接一个配置库。
管理员登录原工程,点击「管理系统>系统管理>常规」,点击外接数据库「已配置」
修改数据库名称为原表空间名称
输入数据库用户密码
请勿勾选「迁移数据至要启用的数据库」
点击「启用新数据库」即可。
6. 启动新工程
请参考「关闭或重启FineReport工程」文档,启动新工程。
7. 迁移授权
若老工程进行了注册,一般需要将授权迁移到新工程。
请参考 授权迁移插件 的使用步骤,向商务索要一个授权迁移插件,销毁原工程的旧授权,并为新工程进行授权。