反馈已提交

网络繁忙

容器化单机迁移容器化集群

  • 文档创建者:Carly
  • 历史版本:15
  • 最近更新:Carly 于 2023-07-27
  • 1. 概述

    1.1 版本

    工程版本
    功能变更

    FineReport11.0

    FineBI6.0

    -

    1.2 应用场景

    相比于单机工程,集群具有高可用性、高性能、易于管理、可伸缩性和安全保障等优点,适用于企业级的报表生成和管理需求。

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

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

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

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

    2. 新集群工程准备

    2.1 部署运维平台

    容器化FineBI工程,需要通过运维平台部署。因此用户需要先部署一个FineOps运维平台。

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

    2.2 部署新工程

    进行迁移前,用户需要先通过运维平台部署一个容器化集群工程。

    详情请参见:部署新项目-FineBI部署新项目-FineReport

    注1:请记录下MySQL、Redis、minio组件的相关信息,由于密码随机生成,请务必修改MySQL、Redis、minio组件的密码,方便后续使用。

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

    2.3 确认新工程服务器剩余磁盘空间

    1)检查原工程的大小。

    2)根据原工程大小,适度扩大新工程所在服务器节点剩余磁盘空间,建议大于原工程的两倍最少剩余磁盘大小500G

    2.4 记录新工程集群信息

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

    记录下状态服务器Redis和文件服务器MinIO的相关信息(密码是2.2节记录下的密码)。

    2.5 关闭新工程

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

    找到bi6组件,点击「停止」按钮,即可关闭新工程。如下图所示:

    2.6 备份config

    请在新工程任意节点的挂载路径/fanruanxxx/bi目录下,找到config文件夹,并另行备份。

    该文件夹中存放的yaml文件中,有着工程部署所用语句,后续运营维护时可能会需要使用/查找,请务必异地备份。

    3. 原单机工程准备

    3.1 备份原工程

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

    请使用运维平台的 备份管理 功能对原工程进行手动备份。

    3.2 升级原工程

    工程迁移的前提是,两个工程必须处于同一版本。

    管理员登录运维平台,点击「运维管理>项目管理」点击新老工程后的「组件管理」,查看bi6组件的当前版本是否相同(精确到日期)。

    若两个工程版本不相同,可参考该文档更新工程版本:外网升级指定版本/内网升级项目

    3.3 映射集群所需端口

    1)FineBI

    单机环境重新docker run修改7800,7830,7840,7850,7870配置

    docker run -e "DB_CACHE_EXTERNAL_PORT=7850" -e "MEMBER_EXTERNAL_PORT=7870" -e "FILE_SYNC_EXTERNAL_PORT=7830" -e "GENERAL_CACHE_EXTERNAL_PORT=7840" -e "CORE_EXTERNAL_PORT=7800"  

    单机环境重新docker run添加映射端口,添加50050、50051、50100、50101、50200配置

    docker run -p IP:7800:7800 -p IP:7830:7830 -p IP:7840:7840 -p IP:7850:7850 -p IP:7870:7870 -p IP:50050:50050 -p IP:50051:50051 -p IP:50100:50100 -p IP:50101:50101 -p IP:50200:50200 -e "BI_SERVER_PORT_EXPOSE=50101" -e "SPIDER_SERVER_PORT_EXPOSE=50100" -e "BI_CONF_RPC_PORT_EXPOSE=50200" -e "SPIDER_GRPC_PORT_EXPOSE=50051" -e "BI_GRPC_PORT_EXPOSE=50050"

    2)FineReport

    单机环境重新docker run修改7800,7830,7840,7850,7870配置

    docker run -e "DB_CACHE_EXTERNAL_PORT=7850" -e "MEMBER_EXTERNAL_PORT=7870" -e "FILE_SYNC_EXTERNAL_PORT=7830" -e "GENERAL_CACHE_EXTERNAL_PORT=7840" -e "CORE_EXTERNAL_PORT=7800"  

    单机环境重新docker run添加映射端口

    docker run -p IP:7800:7800 -p IP:7830:7830 -p IP:7840:7840 -p IP:7850:7850 -p IP:7870:7870 

    注意:

    以上命令并非完整的 docker run 命令,用户需要基于自己本地原有配置,将以上命令添加/修改进去运行。

    此处提供一个完整命令示例,仅作为示例!切勿直接复制使用!

    点击展开更多
    docker run -it -d --log-driver local --restart=on-failure:10 \
    --name fanruan230508163535_bi6 -v /home/jasmine/finekeydata/fanruan230508163535/bi6/logs:/usr/local/tomcat/webapps/webroot/logs \
    -v /home/jasmine/finekeydata/fanruan230508163535/bi6/bi-data:/usr/local/tomcat/webapps/webroot/bi-data \
    -v /home/jasmine/finekeydata/fanruan230508163535/bi6/assist:/usr/local/tomcat/webapps/webroot/WEB-INF/assist \
    -v /home/jasmine/finekeydata/fanruan230508163535/bi6/mount:/usr/local/tomcat/mount \
    -v /home/jasmine/finekeydata/fanruan230508163535/bi6/config:/usr/local/tomcat/webapps/webroot/WEB-INF/config \
    -v /home/jasmine/finekeydata/fanruan230508163535/bi6/tomcat_logs:/usr/local/tomcat/logs \
    -v /home/jasmine/finekeydata/fanruan230508163535/bi6/plugins:/usr/local/tomcat/webapps/webroot/WEB-INF/plugins \
    -v /home/jasmine/finekeydata/fanruan230508163535/bi6/customlib:/usr/local/tomcat/webapps/webroot/WEB-INF/customlib \
    -v /home/jasmine/finekeydata/fanruan230508163535/bi6/classes:/usr/local/tomcat/webapps/webroot/WEB-INF/classes \
    -v /home/jasmine/finekeydata/fanruan230508163535/bi6/assets:/usr/local/tomcat/webapps/webroot/WEB-INF/assets \
    -v /home/jasmine/finekeydata/fanruan230508163535/bi6/schedule:/usr/local/tomcat/webapps/webroot/WEB-INF/schedule \
    -v /home/jasmine/finekeydata/fanruan230508163535/bi6/dashboards:/usr/local/tomcat/webapps/webroot/WEB-INF/dashboards \
    -v /home/jasmine/finekeydata/fanruan230508163535/bi6/backup:/usr/local/tomcat/webapps/webroot/backup \
    -v /home/jasmine/finekeydata/fanruan230508163535/bi6/dpworks:/usr/local/tomcat/webapps/webroot/WEB-INF/dpworks \
    -v /home/jasmine/finekeydata/fanruan230508163535/bi6/reportlets:/usr/local/tomcat/webapps/webroot/WEB-INF/reportlets \
    -v /home/jasmine/finekeydata/fanruan230508163535/bi6/resources:/usr/local/tomcat/webapps/webroot/WEB-INF/resources \
    -p 192.168.101.83:7800:7800 -p 192.168.101.83:7830:7830 -p 192.168.101.83:7840:7840 \
    -p 192.168.101.83:7850:7850 -p 192.168.101.83:7870:7870 \
    -p 192.168.101.83:50050:50050 -p 192.168.101.83:50051:50051 \

    -p 192.168.101.83:50100:50100 -p 192.168.101.83:50101:50101 -p 192.168.101.83:50200:50200 \

    -p 192.168.101.83:8080:8080 -p 192.168.101.83:12100:12100 -e "ops_sign_key=cc0f92d0a6274e4e" \

    -e "DB_CACHE_EXTERNAL_PORT=7850" -e "MEMBER_EXTERNAL_PORT=7870" -e \
    "TZ=Asia/Shanghai" -e "AGENT_ADDRESSES=http://192.168.101.83:9370/" \
    -e "CONTEXT_PATH=webroot" -e "CATALINA_OPTS=-Xmx8192m" -e "USER_ID=0" \
    -e "FILE_SYNC_EXTERNAL_PORT=7830" -e "GROUP_ID=0" -e "GENERAL_CACHE_EXTERNAL_PORT=7840" \
    -e "jgroups.external_addr=192.168.101.83" -e "EXTERNAL_HTTP_PORT=8080" \
    -e "BI_SERVER_PORT_EXPOSE=50101" -e "SPIDER_SERVER_PORT_EXPOSE=50100" -e "BI_CONF_RPC_PORT_EXPOSE=50200" \
    -e "SPIDER_GRPC_PORT_EXPOSE=50051" -e "BI_GRPC_PORT_EXPOSE=50050" \
    -e "CORE_EXTERNAL_PORT=7800"
     --ulimit nofile=65536:65536 --ulimit memlock=-1:-1 \
    192.168.101.83:5000/bi6:6.0-20230425

    3.4 迁移外接数据库

    为了保证新老工程的平台配置完全一致,需要同步两个工程的配置库。因此需要让原工程finedb迁移到新工程项目的MySQL组件。

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

    • 配置外接数据库为2.2节部署的MySQL组件,其中数据库名称为finedb

    • 勾选「迁移数据至要启用的数据库」

    • 点击「启用新数据库」

    当出现提示「已成功切换至目标数据库!」,则代表外接数据库切换成功。

    3.5 安装minio资源仓库插件

    由于需要让原单机工程对接新集群组件,因此需要先安装必要插件。

    管理员登录原工程,点击「管理系统>插件管理」,安装「minio资源仓库」插件。如下图所示:

    3.6 对接集群组件

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

    2)开启「状态服务器」。选择「单机Redis」,输入2.4节记录的Redis组件信息。

    3)开启「文件服务器共享」。选择「MinIO」,输入2.4节记录的MinIO组件信息。

    4)缓存模式选择「关闭缓存」,集群通信协议选择「TCP」。

    5)开启「开启集群」按钮。

    6)用户登录运维平台,点击「运维管理>项目管理」,点击原单机工程项目后的「组件管理」按钮。找到bi6组件,点击「重启」按钮,即可重启工程。

    7)再次查看原工程的「管理系统>智能运维>集群配置」,在节点管理处出现本工程节点,说明单节点集群部署成功。

    3.7 关闭原工程

    用户登录运维平台,点击「运维管理>项目管理」,点击原工程项目后的「组件管理」按钮。

    找到bi6组件,点击「停止」按钮,即可关闭新工程。如下图所示:

    4. 迁移工程

    4.1 拷贝工程文件

    将原工程bi6组件的外挂目录数据,拷贝到新项目各个工程节点的bi6组件的外挂目录里。

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

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

    3)将以下文件,从原工程外挂目录,拷贝到新工程外挂目录中:

    注1:请勿直接拷贝整个外挂目录文件夹到新工程,部分文件不可以被覆盖。

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

    • FineBI需要拷贝的文件

    原工程目录新工程外挂目录说明
    %BI_HOME%/fanruanxxx/bi6/bi-data%BI_HOME%/fanruanxxx/bi6/bi-data

    作用:FineBI抽取数据

    是否必须拷贝:

    如果新老工程在同一服务器上,可重新-v挂载原工程的bi-data文件夹,或在新工程启动后重新抽取数据无需拷贝

    如果新老工程不在同一服务器上,不建议拷贝,该文件夹一般数据量太大,拷贝困难,可在新工程启动后重新抽取数据

    %BI_HOME%/fanruanxxx/bi6/classes%BI_HOME%/fanruanxxx/bi6/classes

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

    是否必须拷贝:必须拷贝

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

    %BI_HOME%/fanruanxxx/bi6/config%BI_HOME%/fanruanxxx/bi6/config

    作用:配置库相关文件

    是否必须拷贝:必须拷贝

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

    %BI_HOME%/fanruanxxx/bi6/customLib%BI_HOME%/fanruanxxx/bi6/customlib

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

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

    %BI_HOME%/fanruanxxx/bi6/logs%BI_HOME%/fanruanxxx/bi6/logs

    作用:swift日志

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

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

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

    %BI_HOME%/fanruanxxx/bi6/plugins%BI_HOME%/fanruanxxx/bi6/plugins

    作用:插件相关文件

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

    %BI_HOME%/fanruanxxx/bi6/tomcat_logs%BI_HOME%/fanruanxxx/bi6/tomcat_logs

    作用:Tomcat通用日志位置

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

    %BI_HOME%/fanruanxxx/bi6/backupminio文件服务器文件存放路径/backup

    作用:工程历史备份文件

    是否必须拷贝:用户自行决定,可存储在原始的目录下备份,可不拷贝

    %BI_HOME%/fanruanxxx/bi6/assets/temp_attachminio文件服务器文件存放路径/assets/temp_attach

    作用:FineBI数据表相关信息

    是否必须拷贝:必须拷贝

    该文件夹中存放着工程Excel原始文件信息,如不拷贝该文件夹会导致原始Excel丢失

    %BI_HOME%/fanruanxxx/bi6/assets/vcsminio文件服务器文件存放路径/assets/vcs

    作用:FineReport模板备份文件

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

    如果工程未使用FineReport模板,或不需要回退历史开发的FineReport模板,则无需拷贝

    %BI_HOME%/fanruanxxx/bi6/assets/其他文件minio文件服务器文件存放路径/assets/其他文件

    作用:通用的共享持久化目录

    是否必须拷贝:必须拷贝

    工程正常运行所需要的文件,如不拷贝会影响工程正常使用

    %BI_HOME%/fanruanxxx/bi6/reportletsminio文件服务器文件存放路径/reportlets作用:FineReport模板存放目录

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

    如果工程未使用FineReport模板,则无需拷贝

    %BI_HOME%/fanruanxxx/bi6/scheduleminio文件服务器文件存放路径/schedule作用:定时调度生成的文件

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

    如果不拷贝,定时任务挂载到决策平台的结果报表无法访问

    • FineReport需要拷贝的文件

    原工程目录新工程外挂目录说明
    %FR_HOME%/fanruanxxx/fr/classes%FR_HOME%/fanruanxxx/fr/classes

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

    是否必须拷贝:必须拷贝

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

    %FR_HOME%/fanruanxxx/fr/config%FR_HOME%/fanruanxxx/fr/config

    作用:配置库相关文件

    是否必须拷贝:必须拷贝

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

    %FR_HOME%/fanruanxxx/fr/customLib%FR_HOME%/fanruanxxx/fr/customlib

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

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

    %FR_HOME%/fanruanxxx/fr/logs%FR_HOME%/fanruanxxx/fr/logs

    作用:swift日志

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

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

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

    %FR_HOME%/fanruanxxx/fr/plugins%FR_HOME%/fanruanxxx/fr/plugins

    作用:插件相关文件

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

    %FR_HOME%/fanruanxxx/fr/tomcat_logs%FR_HOME%/fanruanxxx/fr/tomcat_logs

    作用:Tomcat通用日志位置

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

    %FR_HOME%/fanruanxxx/fr/backupminio文件服务器文件存放路径/backup

    作用:工程历史备份文件

    是否必须拷贝:用户自行决定,可存储在原始的目录下备份,可不拷贝

    %FR_HOME%/fanruanxxx/fr/assets/temp_attachminio文件服务器文件存放路径/assets/temp_attach

    作用:读写缓存存储路径

    是否必须拷贝:必须拷贝

    该文件夹中存放着工程读写(图片)缓存,不拷贝可能会导致模板设置的背景图片预览为空

    %FR_HOME%/fanruanxxx/fr/assets/vcsminio文件服务器文件存放路径/assets/vcs

    作用:FineReport模板备份文件

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

    如果工程不需要回退历史开发的FineReport模板,则无需拷贝

    %FR_HOME%/fanruanxxx/fr/assets/其他文件minio文件服务器文件存放路径/assets/其他文件

    作用:通用的共享持久化目录

    是否必须拷贝:必须拷贝

    工程正常运行所需要的文件,如不拷贝会影响工程正常使用

    %FR_HOME%/fanruanxxx/fr/reportletsminio文件服务器文件存放路径/reportlets作用:FineReport模板存放目录

    是否必须拷贝:必须拷贝,如不拷贝会导致工程所有模板丢失

    %FR_HOME%/fanruanxxx/fr/scheduleminio文件服务器文件存放路径/schedule作用:定时调度生成的文件

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

    如果不拷贝,定时任务挂载到决策平台的结果报表无法访问

    4.2 启动新工程

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

    找到bi6组件,点击「启动」按钮,即可启动新工程。如下图所示:

    4.3 验证是否迁移成功

    依次登录新集群所有工程节点:

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

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

    5. 启动原工程

    由于此时原工程使用着新工程的外接数据库和集群组件,不能直接启动。

    1)使用3.1节的备份,将原工程还原到单机状态。

    2)再使用运维平台的「项目管理>组件管理」功能,启动原工程。

    6. 迁移授权

    若老工程进行了注册,一般需要将授权迁移到新工程。容器化工程推荐使用 容器私有云认证 方式。

    6.1 销毁原工程授权

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

    2)找到原工程%BI_HOME%/webroot/WEB-INF/resources文件夹下的销毁凭证。

    6.2 获取新工程授权

    参考 容器私有云认证 的使用步骤,向商务索要注册镜像文件fanruan_license_server.tar,并参考文档为新集群工程进行授权。

    请在邮件中附上上一步获取的销毁凭证。

    附件列表


    主题: 功能简介
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持