最新历史版本 :非容器化集群迁移容器化集群(仅迁移工程) 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本


工程版本
功能变更

FineReport11.0

FineBI6.0

-

注:本文不适用于FineBI6.1及以上版本,如有相关场景,请联系帆软技术支持协助。

1.2 应用场景

相比于普通集群工程,容器化部署的工程,升级和维护成本较低。

本文方案帮助用户将原有非容器化部署的FineBI集群工程,迁移为容器化部署的集群工程。

只迁移FineBI工程,仍使用原有集群组件(状态服务器、文件服务器、外接数据库等)。

迁移后,原工程无法再启动使用。

注:全文以FineBI作为演示。FineReport迁移步骤基本一致,仅需要两个点:

1)拷贝文件时,FineReport和FineBI需要拷贝的文件不完全相同,注意文档中的表格即可。

2)使用运维平台启停容器时,FineReport关闭的是fr组件,FineBI关闭的是bi6组件。

3)仅FineBI需要修改抽取数据存储路径,FineReport无需执行本操作。

1.3 步骤简介

序号
说明
1 了解迁移步骤请务必在执行迁移前,完整阅读本节步骤简介,了解每个步骤的作用

2

新容器化工程准备

2.1 部署运维平台容器化部署FineReport/FineBI,需要通过FineOps运维平台前端实现

因此用户需要先部署一个FineOps运维平台

2.2 部署新工程

迁移项目,是从原有非容器化工程,迁移到新的容器化工程

因此用户需要先通过FineOps运维平台部署一个新的容器化集群工程

2.3 确认新工程版本

由于容器化部署的工程,一般为帆软发布的较新版本

因此用户需要先确认新工程版本,确保后续升级旧工程到同一版本

2.4 备份部署信息

容器化部署新工程时,会自动生成工程部署所用语句,后续运营维护时可能会需要使用/查找,在迁移过程中该语句所在文件会被覆

因此用户需要提前异地备份工程部署信息

2.5 关闭新工程

迁移时,需要将老工程的一些文件拷贝到新工程中,这个操作需要在新工程停止运行的状态下进行

因此用户要通过FineOps运维平台前端快速关闭新工程

3

原非容器化工程准备

3.1 备份原工程

在进行工程迁移前,为避免迁移失败,导致工程文件丢失无法回退等问题,请务必对原工程进行备份后再进行后续操

为了防止迁移失败,建议记录下工程的配置信息,用于手动对接外接数据库组件和集群组件

3.2 升级原工程

工程迁移必须基于同版本的工程进行

因此需要将原非容器化部署的工程升级到新工程同一版本,方可进行迁移

3.3 销毁授权由于迁移后原工程无法再启动使用,因此如需迁移原工程授权,需要提前销毁授权
3.4 关闭原工程

迁移时,需要将原工程的一些文件拷贝到新工程中,这个操作需要在原工程停止运行的状态下进行

因此用户需要手动关闭原工程

3.5 修改抽取数据存储路径

仅FineBI工程需要执行本节操作

工程迁移后,FineBI一般需要重新进行数据抽取,业务用户方可正常使用

因此用户需要在抽取前确认并修改数据存储路径,再执行数据抽取

迁移工程

4.1 拷贝文件本节即为正式迁移操作

将原非容器化工程的必要文件,拷贝到新容器化工程中

4.2 启动新工程

接下来的操作需要在新工程平台上执行

因此用户要通过FineOps运维平台前端快速启动新工程

4.3 验证是否迁移成功

通过查看新工程的平台配置,确保集群迁移成功

5 迁移授权

将老工程的授权迁移到新工程

容器化工程推荐使用「容器私有云认证」方式

2. 新容器化工程准备编辑

注:部署运维平台、新工程的服务器,老工程的集群组件、外接数据库的服务器,必须内网互通,会大幅降低迁移难度。

2.1 部署运维平台

详情请参见:部署运维平台

2.2 部署新工程

详情请参见:部署新项目

注意事项1:迁移时,需要将老工程的一些必要文件、资源拷贝到新工程中,因此必须要确保新工程磁盘空间足够大。

1)检查原非容器化工程%Tomcat_home%\webapps\webroot文件夹的大小。假设为xG。

2)在准备新容器化集群文件服务器时,请根据原工程大小,适度扩大新工程文件服务器所在节点剩余磁盘空间。

      建议最小剩余磁盘空间大小为 max(2x , 500) G。

注意事项2:部署新工程时,会同时部署一些必要组件,建议记录下组件的信息,方便在后续维护过程中查看。

请在「部署新项目-项目设置」环节,记录下MySQL、Redis、minio、elasticsearch组件的相关信息。由于组件密码随机生成,请务必修改组件的密码,方便后续使用。

注意事项3:迁移时,需要将老工程的一些文件拷贝到新工程中,因此需要记录下新工程存放文件的外挂目录位置。

请在「部署新项目-节点配置」环节,记录下集群每个工程节点的挂载路径。

2.3 确认新工程版本

1)管理员登录FineOps运维平台,在「运维管理>项目管理」中,可查看新工程的访问地址。

2)管理员登录新容器化工程,点击「管理系统>注册管理>版本信息」,可查看新容器化工程的小版本号(精确到JAR包日期)。

2.4 备份部署信息

对于运维平台部署的组件/项目,在后期运维时,可能需要查阅原始部署信息。

1)管理员登录FineOps运维平台,在「运维管理>项目管理」中,点击新容器化部署的项目后的「组件管理」按钮。

2)点击「导出部署信息」,导出json文件。

3)根据提示信息,请前往运维平台所在服务器中获取部署信息,异地备份。

2.5 关闭新工程

1)管理员登录FineOps运维平台,在「运维管理>项目管理」中,点击新容器化部署的项目后的「组件管理」按钮。

2)找到bi6/fr组件,点击「停止」按钮,即可关闭新容器化工程。

3. 原非容器化工程准备编辑

3.1 备份原工程

1)工程整体备份

详情请参见 非容器化工程备份还原 3.1节,对工程进行备份。

2)记录原工程外接库信息

管理员登录原工程,点击「管理系统>系统管理>常规>外接数据库」。

记录下外接数据库的相关信息。确保外接数据库与待安装的新工程环境互通。

3)记录原工程集群信息

管理员登录原工程,点击「管理系统>智能运维>集群配置」。

记录下状态服务器和文件服务器的相关信息。确保状态服务器、文件服务器与待安装的新工程环境互通。

3.2 升级原工程

1)获取JAR包

付费用户请联系帆软技术支持,获取2.3节新工程同一小版本的工程JAR包(精确到JAR包日期)。

技术支持联系方式:前往「服务」,选择「在线支持」、电话「400-811-8890」。

2)升级原非容器化工程

请参考「非容器化FineBI6.0.x小版本升级指南 / FineReport小版本升级」文档升级工程至指定版本。

3.3 销毁授权

1)参考 授权迁移插件 的使用步骤,向商务索要一个授权迁移插件,销毁原非容器化工程的旧授权。

2)找到原非容器化工程%BI_HOME%/webroot/WEB-INF/resources文件夹下的销毁凭证并存储好。

3.4 关闭原工程

请参考「 关闭或重启FineBI工程 / 关闭或重启FineReport工程 」文档,关闭原非容器化集群下的每个工程节点。

3.5 修改抽取数据存储路径

仅FineBI工程需要执行本节操作

在原工程任一节点服务器中,找到%BI_HOME%/webroot/WEB-INF/config文件夹,修改/新建spider.cluster.properties文件。

在文件中添加一行:spider_local_base_path=/usr/local/tomcat/webapps/webroot/bi-data/spider/db

4. 迁移工程编辑

4.1 拷贝工程文件

1)请提前检查原非容器化部署的工程,是否配置了外挂目录、是否配置共享文件服务器,确保拷贝到正确的文件。

2)新容器化工程外挂文件所在位置,为2.2节记录的挂载路径。

3)将以下文件,从3.5节的工程节点,拷贝到新容器化部署的每个工程节点中:

注1:请勿直接 docker cp 整个webroot文件夹到容器,会导致功能异常。

注2:请勿直接拷贝整个webroot文件夹到容器化工程的外挂目录,部分文件不可以被覆盖。

注3:请勿使用3.1节备份的文件,而是使用3.5节工程最终的文件进行拷贝操作。

注4:工程下的文件需要从3.5节原工程节点一一拷贝到新容器化部署的每一个工程节点中。

注5MinIO使用的是S3协议,不能直接上传文件到服务器上进行使用。详情请参见:MinIO文件服务器简介

  • FineBI需要拷贝的文件

原非容器化工程目录

新容器化工程外挂目录

说明
%Tomcat_HOME%/logs每个工程节点%BI_HOME%/fanruanxxx/bi6/tomcat_logs

作用:Tomcat通用日志位置

是否必须拷贝:用户自行决定,Tomcat历史访问日志,可不拷贝

%Tomcat_HOME%/webapps/webroot/bi-data每个工程节点%BI_HOME%/fanruanxxx/bi6/bi-data

作用:FineBI抽取数据

是否必须拷贝:用户自行决定

如果不拷贝,在新工程启动后需要全局更新,重新抽取数据

如果拷贝,该文件夹中文件数量很多,拷贝耗时很久,请耐心等待

%Tomcat_HOME%/webapps/webroot/logs每个工程节点%BI_HOME%/fanruanxxx/bi6/logs

作用:swift日志

是否必须拷贝:用户自行决定

如果不拷贝,会丢失工程历史操作日志(即logdb),「管理系统>平台日志」功能无数据

如对历史使用情况无要求,无需拷贝

%Tomcat_HOME%/webapps/webroot/WEB-INF/classes每个工程节点%BI_HOME%/fanruanxxx/bi6/classes

作用:工程调用的默认和自定义class文件

是否必须拷贝:必须拷贝

有可能存在自定义的class文件,如不拷贝会影响工程正常使用

%Tomcat_HOME%/webapps/webroot/WEB-INF/config每个工程节点%BI_HOME%/fanruanxxx/bi6/config

作用:配置库相关文件

是否必须拷贝:必须拷贝

平台调用的配置库(finedb)存储信息,如不拷贝会影响工程正常使用

建议仅覆盖更新,不要全量删除再拷贝进来,以防丢失必要文件

找到以下两个目录:

%Tomcat_HOME%/webapps/webroot/WEB-INF/lib

%Tomcat_HOME%/webapps/webroot/WEB-INF/customLib

以下为工程自带JAR,无需拷贝,除此之外的用户自定义JAR均需拷贝:

点击展开更多

fdl-bi-extension-4.0.jar

fdl-boot-4.0.jar

fdl-core-4.0.jar

fdl-cron-4.0.jar

fdl-datasource-4.0.jar

fdl-third-4.0.jar

fine-accumulator-11.0.jar

fine-activator-11.0.jar

fine-autuator-formula-11.0.jar

fine-bi-adapter-6.0.jar

fine-bi-datamining-6.0.jar

fine-bi-datamining-third-6.0.jar

fine-bi-engine-spider-6.0.jar

fine-bi-engine-third-6.0.jar

fine-bi-foundation-6.0.jar

fine-bi-middle-6.0.jar

fine-bi-query-6.0.jar

fine-bi-query-excel-6.0.jar

fine-bi-query-third-6.0.jar

fine-bi-scheduler-6.0.jar

fine-bi-spider-cluster-6.0.jar

fine-cbb-11.0.jar

fine-core-11.0.jar

fine-datasource-11.0.jar

fine-decision-11.0.jar

fine-decision-bi-11.0.jar

fine-decision-report-11.0.jar

fine-report-engine-11.0.jar

fine-schedule-11.0.jar

fine-schedule-bi-11.0.jar

fine-schedule-report-11.0.jar

fine-swift-log-adaptor-11.0.jar

fine-third-11.0.jar

fine-webui-11.0.jar

h2-2.1.214.jar

jtds-1.3.1.jar

mssql-jdbc-9.4.1.jre8.jar

mysql-connector-java-5.1.49-bin.jar

ojdbc8.jar

orai18n.jar

sqlite-jdbc-3.35.4.jar

jarfile-checksum.txt

readme.txt

version-bi.txt


每个工程节点%BI_HOME%/fanruanxxx/bi6/customlib

作用:工程定制/外部引入的JAR包

是否必须拷贝:必须拷贝,如不拷贝会影响模板访问

%Tomcat_HOME%/webapps/webroot/WEB-INF/plugins每个工程节点%BI_HOME%/fanruanxxx/bi6/plugins

作用:插件相关文件

是否必须拷贝:必须拷贝,如不拷贝会影响插件相关功能的实现

  • FineReport需要拷贝的文件


原非容器化工程目录新容器化工程外挂目录说明
%Tomcat_HOME%/logs每个工程节点%FR_HOME%/fanruanxxx/fr/tomcat_logs

作用:Tomcat通用日志位置

是否必须拷贝:用户自行决定,Tomcat历史访问日志,可不拷贝

%Tomcat_HOME%/webapps/webroot/logs每个工程节点%FR_HOME%/fanruanxxx/fr/logs

作用:swift日志

是否必须拷贝:用户自行决定

如果不拷贝,会丢失工程历史操作日志(即logdb),「管理系统>平台日志」功能无数据

如对历史使用情况无要求,无需拷贝

%Tomcat_HOME%/webapps/webroot/WEB-INF/classes每个工程节点%FR_HOME%/fanruanxxx/fr/classes

作用:工程调用的默认和自定义class文件

是否必须拷贝:必须拷贝

有可能存在自定义的class文件,如不拷贝会影响工程正常使用

%Tomcat_HOME%/webapps/webroot/WEB-INF/config每个工程节点%FR_HOME%/fanruanxxx/fr/config

作用:配置库相关文件

是否必须拷贝:必须拷贝

平台调用的配置库(finedb)存储信息,如不拷贝会影响工程正常使用

建议仅覆盖更新,不要全量删除再拷贝进来,以防丢失必要文件

找到以下两个目录:

%Tomcat_HOME%/webapps/webroot/WEB-INF/lib

%Tomcat_HOME%/webapps/webroot/WEB-INF/customLib

除以下工程自带JAR之外的自定义定制JAR,全部拷贝:

点击展开更多

fine-accumulator-11.0.jar

fine-activator-11.0.jar

fine-cbb-11.0.jar

fine-core-11.0.jar

fine-datasource-11.0.jar

fine-decision-11.0.jar

fine-decision-report-11.0.jar

fine-report-engine-11.0.jar

fine-schedule-11.0.jar

fine-schedule-report-11.0.jar

fine-service-management-2.0.7.jar

fine-swift-log-adaptor-11.0.jar

fine-third-11.0.jar

fine-webui-11.0.jar

ifxjdbc_informix.jar

jtds-1.3.1.jar

mysql-connector-java-5.1.49-bin.jar

ojdbc8.jar

orai18n.jar

sqlite-jdbc-3.39.4.0.jar

sqljdbc.jar

sybase.jar

jarfile-checksum.txt

readme.txt


每个工程节点%FR_HOME%/fanruanxxx/fr/customlib

作用:工程定制/外部引入的JAR包

是否必须拷贝:必须拷贝,如不拷贝会影响模板访问

%Tomcat_HOME%/webapps/webroot/WEB-INF/plugins每个工程节点%FR_HOME%/fanruanxxx/fr/plugins

作用:插件相关文件

是否必须拷贝:必须拷贝,如不拷贝会影响插件相关功能的实现


4.2 启动全部工程节点

用户登录运维平台,点击「运维管理>项目管理」,点击新容器化部署的工程项目后的「组件管理」按钮。

找到bi6组件,点击组件后的「启动」按钮,即可启动该集群所有工程节点。如下图所示:

4.3 验证是否迁移成功

依次登录所有工程节点:

1)查看「管理系统>智能运维>集群配置>节点管理」中是否出现所有集群节点,说明多节点集群全部配置成功。

2)查看各节点的工程配置是否相同,说明外接数据库配置成功。

5. 迁移授权编辑

参考 注册新项目 的使用步骤,向商务索要注册镜像文件fanruan_license_server.tar,并参考文档为新容器化工程进行授权。

请在邮件中附上2.5节获取的销毁凭证。并注明是「非容器化工程迁移容器化工程」。