1. 概述
1.1 版本
工程版本 | 功能变更 |
---|---|
FineReport11.0 FineBI6.0 | - |
1.2 应用场景
有时用户需要复用一个工程,或者迁移工程所在服务器。
本文方案,帮助用户将原有容器化部署的单机工程,迁移到另一个容器化部署的单机工程。
注:全文以FineBI作为演示。FineReport迁移步骤基本一致,仅需要两个点:
1)拷贝文件时,FineReport和FineBI需要拷贝的文件不完全相同,注意文档中的表格即可。
2)使用运维平台启停容器时,FineReport关闭的是fr组件,FineBI关闭的是bi6组件。
2. 新工程准备
注:建议部署新工程、老工程、运维平台所用服务器内网互通,会大幅降低迁移难度。
2.1 部署运维平台
详情请参见:部署运维平台
如果已有运维平台,无需重复部署。一个运维平台可以部署/对接多个项目。
2.2 部署新工程
详情请参见:部署新项目
注意事项1:迁移时,需要将老工程的一些必要文件、资源拷贝到新工程中,因此必须要确保新工程磁盘空间足够大。
1)检查原工程的大小。
2)根据原工程大小,适度扩大新工程所在服务器节点剩余磁盘空间,建议大于原工程的两倍,最少剩余磁盘大小500G。
注意事项2:迁移后,为了确保新老工程的访问地址一致,必须确保访问路径名称一致
请在「部署新项目-项目设置」环节,确认访问路径配置。
如果老工程做了短域名/IP访问,请将访问路径置空
如果老工程修改了访问路径,即http://IP:port/webroot/decision中的webroot被修改为了其他词,请将访问路径修改为对应词
注意事项3:迁移时,需要将老工程的一些文件拷贝到新工程中,因此需要记录下新工程存放文件的外挂目录位置。
请在「部署新项目-节点配置」环节,记录下主应用节点的挂载路径。
注意事项4:部署新工程时,会同时部署一些必要组件,建议记录下组件的信息,方便在后续维护过程中查看。
请在「部署新项目-部署列表」环节,记录下MySQL、ElasticSearch组件的相关信息。
由于组件密码随机生成,请务!必!修改组件的密码,方便后续使用。
2.4 关闭新工程
1)管理员登录运维平台,选择新工程,点击「维护>组件管理」。
2)找到bi6/fr组件,点击「停止」按钮,即可关闭新工程。
2.5 备份新工程config文件夹
1)使用终端设备访问新容器化工程所在服务器,进入2.2节记录的挂载路径/fanruanxxx/bi目录下。
注:如果忘记了新工程的挂载路径,可通过导出项目部署信息查看。
2)找到config文件夹,文件夹中存放的yaml文件有着工程部署所用语句,请务必异地备份。
3. 原工程准备
3.1 备份原工程
1)管理员登录运维平台,选择原项目,点击「维护>备份管理」。
2)勾选「备份镜像」,点击「开始备份」
3)确认在下方全部备份中出现相关备份后,代表备份成功。
3.2 升级原工程
工程迁移的前提是,两个工程必须处于同一版本。
管理员登录运维平台,点击「运维管理>项目管理」,点击新老工程后的「组件管理」,查看bi6组件的当前版本是否相同(精确到日期)。
若两个工程版本不相同,可参考该文档更新工程版本:外网升级指定版本/内网升级项目
3.3 关闭原工程
用户登录运维平台,点击「运维管理>项目管理」,点击原工程项目后的「组件管理」按钮。
找到bi6组件,点击「停止」按钮,即可关闭原工程。如下图所示:
4. 迁移工程
4.1 拷贝外接数据库
将原容器化项目中的MySQL组件的外挂目录数据,拷贝到新工程项目中的MySQL组件的外挂目录里。
注:MySQL组件的外挂目录地址,一般在项目挂载路径/fanruanxxx/mysql下。
4.2 拷贝工程文件
将原容器化项目中的bi6组件的外挂目录数据,拷贝到新工程项目中的bi6组件的外挂目录里。
1)请提前检查原工程,是否修改了外挂目录位置、是否配置共享文件服务器,确保拷贝到正确的文件。
2)新工程外挂文件所在位置,为2.2节记录的挂载路径。
3)将以下文件,从原工程外挂目录,拷贝到新工程外挂目录中:
注1:请勿直接拷贝整个外挂目录文件夹到新工程,部分文件不可以被覆盖。
注2:请勿使用3.1节备份的文件,而是使用工程最终的文件进行拷贝操作。
FineBI需要拷贝的文件
外挂目录文件位置 | 说明 |
---|---|
%BI_HOME%/fanruanxxx/bi6/assets/temp_attach | 作用:FineBI数据表相关信息 是否必须拷贝:必须拷贝 该文件夹中存放着工程Excel原始文件信息,如不拷贝该文件夹会导致原始Excel丢失 |
%BI_HOME%/fanruanxxx/bi6/assets/vcs | 作用:FineReport模板备份文件 是否必须拷贝:用户自行决定 如果工程未使用FineReport模板,或不需要回退历史开发的FineReport模板,则无需拷贝 |
%BI_HOME%/fanruanxxx/bi6/assets/其他文件 | 作用:通用的共享持久化目录 是否必须拷贝:必须拷贝 工程正常运行所需要的文件,如不拷贝会影响工程正常使用 |
%BI_HOME%/fanruanxxx/bi6/backup | 作用:工程历史备份文件 是否必须拷贝:用户自行决定,可存储在原始的目录下备份,可不拷贝 |
%BI_HOME%/fanruanxxx/bi6/bi-data | 作用:FineBI抽取数据 是否必须拷贝: 如果新老工程在同一服务器上,可重新-v挂载原工程的bi-data文件夹,或在新工程启动后重新抽取数据,无需拷贝 如果新老工程不在同一服务器上,不建议拷贝,该文件夹一般数据量太大,拷贝困难,可在新工程启动后重新抽取数据 |
%BI_HOME%/fanruanxxx/bi6/classes | 作用:工程调用的默认和自定义class文件 是否必须拷贝:必须拷贝 有可能存在自定义的class文件,如不拷贝会影响工程正常使用 |
%BI_HOME%/fanruanxxx/bi6/customlib | 作用:工程定制/外部引入的JAR包 是否必须拷贝:必须拷贝,如不拷贝会影响模板访问 |
%BI_HOME%/fanruanxxx/bi6/dpworks | 作用:FineDataLink任务相关的配置文件 是否必须拷贝:必须拷贝,如不拷贝会影响FineDataLink任务使用 (如不存在该文件夹,说明工程没有使用FDL相关功能,略过) |
%BI_HOME%/fanruanxxx/bi6/logs | 作用:swift日志 是否必须拷贝:用户自行决定 如果不拷贝,会丢失工程历史操作日志(即logdb),「管理系统>平台日志」功能无数据 如对历史使用情况无要求,无需拷贝 |
%BI_HOME%/fanruanxxx/bi6/plugins | 作用:插件相关文件 是否必须拷贝:必须拷贝,如不拷贝会影响插件相关功能的实现 |
%BI_HOME%/fanruanxxx/bi6/reportlets | 作用:FineReport模板存放目录 是否必须拷贝:用户自行决定 如果工程未使用FineReport模板,则无需拷贝 |
%BI_HOME%/fanruanxxx/bi6/schedule | 作用:定时调度生成的文件 是否必须拷贝:用户自行决定 如果不拷贝,定时任务挂载到决策平台的结果报表无法访问 |
%BI_HOME%/fanruanxxx/bi6/tomcat_logs | 作用:Tomcat通用日志位置 是否必须拷贝:用户自行决定,Tomcat历史访问日志,可不拷贝 |
FineReport需要拷贝的文件
外挂目录文件位置 | 说明 |
---|---|
%FR_HOME%/fanruanxxx/fr/assets/temp_attach | 作用:读写缓存存储路径 是否必须拷贝:必须拷贝 该文件夹中存放着工程读写(图片)缓存,不拷贝可能会导致模板设置的背景图片预览为空 |
%FR_HOME%/fanruanxxx/fr/assets/vcs | 作用:FineReport模板备份文件 是否必须拷贝:用户自行决定 如果工程不需要回退历史开发的FineReport模板,则无需拷贝 |
%FR_HOME%/fanruanxxx/fr/assets/其他文件 | 作用:通用的共享持久化目录 是否必须拷贝:必须拷贝 工程正常运行所需要的文件,如不拷贝会影响工程正常使用 |
%FR_HOME%/fanruanxxx/fr/backup | 作用:工程历史备份文件 是否必须拷贝:用户自行决定,可存储在原始的目录下备份,可不拷贝 |
%FR_HOME%/fanruanxxx/fr/classes | 作用:工程调用的默认和自定义class文件 是否必须拷贝:必须拷贝 有可能存在自定义的class文件,如不拷贝会影响工程正常使用 |
%FR_HOME%/fanruanxxx/fr/customlib | 作用:工程定制/外部引入的JAR包 是否必须拷贝:必须拷贝,如不拷贝会影响模板访问 |
%FR_HOME%/fanruanxxx/fr/dpworks | 作用:FineDataLink任务相关的配置文件 是否必须拷贝:必须拷贝,如不拷贝会影响FineDataLink任务使用 (如不存在该文件夹,说明工程没有使用FDL相关功能,略过) |
%FR_HOME%/fanruanxxx/fr/logs | 作用:swift日志 是否必须拷贝:用户自行决定 如果不拷贝,会丢失工程历史操作日志(即logdb),「管理系统>平台日志」功能无数据 如对历史使用情况无要求,无需拷贝 |
%FR_HOME%/fanruanxxx/fr/plugins | 作用:插件相关文件 是否必须拷贝:必须拷贝,如不拷贝会影响插件相关功能的实现 |
%FR_HOME%/fanruanxxx/fr/reportlets | 作用:FineReport模板存放目录 是否必须拷贝:必须拷贝,如不拷贝会导致工程所有模板丢失 |
%FR_HOME%/fanruanxxx/fr/schedule | 作用:定时调度生成的文件 是否必须拷贝:用户自行决定 如果不拷贝,定时任务挂载到决策平台的结果报表无法访问 |
%FR_HOME%/fanruanxxx/fr/tomcat_logs | 作用:Tomcat通用日志位置 是否必须拷贝:用户自行决定,Tomcat历史访问日志,可不拷贝 |
FineDataLink需要拷贝的文件
外挂目录文件位置 | 说明 |
---|---|
%FDL_HOME%/fanruanxxx/fdl/assets | 作用:通用的共享持久化目录 是否必须拷贝:必须拷贝 工程正常运行所需要的文件,如不拷贝会影响工程正常使用 |
%FDL_HOME%/fanruanxxx/fdl/backup | 作用:工程历史备份文件 是否必须拷贝:用户自行决定,可存储在原始的目录下备份,可不拷贝 |
%FDL_HOME%/fanruanxxx/fdl/classes | 作用:工程调用的默认和自定义class文件 是否必须拷贝:必须拷贝 有可能存在自定义的class文件,如不拷贝会影响工程正常使用 |
%FDL_HOME%/fanruanxxx/fdl/customlib | 作用:工程定制/外部引入的JAR包 是否必须拷贝:必须拷贝,如不拷贝会影响模板访问 |
%FDL_HOME%/fanruanxxx/fdl/dpworks | 作用:FineDataLink任务相关的配置文件 是否必须拷贝:必须拷贝,如不拷贝会影响FineDataLink任务使用 |
%FDL_HOME%/fanruanxxx/fdl/logs | 作用:swift日志 是否必须拷贝:用户自行决定 如果不拷贝,会丢失工程历史操作日志(即logdb),「管理系统>平台日志」功能无数据 如对历史使用情况无要求,无需拷贝 |
%FDL_HOME%/fanruanxxx/fdl/plugins | 作用:插件相关文件 是否必须拷贝:必须拷贝,如不拷贝会影响插件相关功能的实现 |
%FDL_HOME%/fanruanxxx/fdl/tomcat_logs | 作用:Tomcat通用日志位置 是否必须拷贝:用户自行决定,Tomcat历史访问日志,可不拷贝 |
5. 启动新老工程
用户登录运维平台,点击「运维管理>项目管理」,点击新老工程项目后的「组件管理」按钮。
找到bi6组件,点击「启动」按钮,即可启动新老工程。如下图所示:
6. 迁移授权
容器化工程一般使用「容器私有云认证」方式进行注册。
请参考文档第四章进行授权迁移操作:容器私有云认证