Non-containerized Cluster-to-Containerized Cluster Migration (Project Only)

  • Last update: 2024-08-13
  • Overview

    Version

    Project Version

    Functional Change

    FineReport11.0

    FineBI6.0

    /

    Application Scenario

    Containerized projects require lower upgrade and maintenance costs compared with common clusters.

    The solution described in this document helps you migrate an original non-containerized FineBI cluster to a containerized cluster.

    In the following steps, only the FineBI project is migrated, while the original cluster components (such as the state server, file server, and external database) remain in use.

    After the migration, the original project can no longer be started or used.

    iconNote:

    This document takes the FineBI project as an example to illustrate the migration steps. The migration steps for the FineReport project are the same, with only three differences:

    1. The files to be copied for the FineReport and FineBI projects are not the same. Pay attention to the table content in this document.

    2. When you start/stop the container with FineOps, close the fr component for a FineReport project, and close the bi 6 component for a FineBI project.

    3. Modifying the data extraction storage path is only required for FineBI projects. Such operation is not required for FineReport projects.

    Step Overview

    Step

    Description

    Understanding Migration Steps

    Ensure you have read the steps in this section thoroughly and understood their functions before performing the migration.

    Preparing the New Containerized Project

    Deploying FineOps

    Containerized deployment of FineReport/FineBI projects requires operations via the frontend of FineOps. 

    You need to deploy FineOps first.

    Deploying a New Project

    Project migration indicates migrating essential files from an existing non-containerized project to a new containerized project. 

    You need to deploy a new containerized cluster via FineOps first.

    Confirming the New Project Version

    The version of the new containerized project is typically more up-to-date compared with that of the original project. 

    You need to confirm the new project version and upgrade the original project to the same version.

    Backing Up Deployment Information

    Commands that are automatically generated during the containerized deployment of a new project may be used or referenced for subsequent operation and maintenance. But the file containing these commands will be overwritten during the migration. 

    You need to back up the project deployment information to an offsite location in advance.

    Closing the New Project

    During migration, you need to copy some files from the original project and paste them into the new project. This operation should be performed while the new project is not running.

    You can close the new project quickly via the frontend of FineOps.

    Preparing the Original Non-containerized Project

    Backing Up the Original Project

    Before project migration, you must back up the original project and then proceed with subsequent operations. This can avoid the rollback failure of the original project caused by project file loss if the migration fails.

    You are advised to note down the project configuration information. This will be useful for connecting to external database components and cluster components manually.

    Upgrading the Original Project

    Project migration must be performed on projects that are of the same version. 

    You need to upgrade the original non-containerized project to the same version as that of the new project before migration.

    Destroying the License

    The original project cannot be started or used after the migration, so you need to destroy its license in advance if you plan to migrate the license.

    Closing the Original Project

    During migration, you need to copy some files from the original project and paste them into the new project. This operation should be performed while the new project is not running.

    You need to close the original project manually.

    Modifying the Storage Path of Extracted Data

    The operations described in this section are only applicable to FineBI projects.

    FineBI projects generally require data re-extraction after migration to ensure normal use by business users. 

    You need to confirm and modify the data storage path before performing the data extraction.

    Migrating the Project

    Copying and Pasting Files

    This section introduces the formal migration operations. 

    Copy the necessary files of the original non-containerized project and paste them into the new containerized project.

    Starting the New Project

    The following operations need to be performed on the new project platform. 

    You need to start the new project, which can be done quickly via the frontend of FineOps.

    Verifying If Migration is Successful

    Check the cluster configuration on the new project platform to ensure successful migration.

    Migrating the License

    Migrate the license of the original project to the new project. 

    For containerized projects, you are advised to set the authentication method to Private Cloud.

    Preparing the New Containerized Project

    iconNote:
    Servers where FineOps, the new project, and the cluster components and the external database of the original project are deployed must be interconnected over the intranet. This significantly reduces the migration difficulty.

    Deploying FineOps

    For details, see FineOps Deployment.

    Deploying a New Project

    For details, see New Project Deployment.

    iconNote:

    1. During the migration, you need to copy some essential files and resources of the old project and paste them into the new project, so you must ensure sufficient available disk space for the new project.

    a. Check the size of the webroot folder of the original non-containerized project in the %Tomcat_home%\webapps path. Assume it is x GB.

    b. You are advised to ensure that the minimum available disk space of the node is Max(2x, 500) GB.

    2: Some necessary components are deployed with the new project. You are advised to note down the component information during project deployment to facilitate future maintenance.

    Note down the information of mysql, redis, minio, and elasticsearch components configured under Deploy New Project > Project Setting > Deployment Configuration. Since the component password is randomly generated, you should change it to facilitate future use.

    iconNote:
    3. During the migration, you need to copy some files of the original project and paste them into the new project, so you should note down the mounting path where the new project files are stored.

    Note down the mounting path of each project node in the cluster under Deploy New Project > Node Configuration.


    Confirming the New Project Version

    1. Log in to FineOps as the admin, and click Project Management to view the access address of the new project.

    2. Log in to the new containerized project as the admin, and choose System Management > Registration Management > Version Information to confirm the minor version of the project (accurate to the JAR package date).

    Backing Up Deployment Information

    You may need to consult the deployment information of FineOps-deployed components/projects during O&M.

    1. Log in to FineOps as the admin, click Project Management, click the new containerized project, and choose Maintenance > Component Management.

    2. Click Export Deployment Information to export the JSON file.

    3. Go to the FineOps server, obtain the deployment information according to the prompt, and back it up offsite.

    Closing the New Project

    1. Log in to FineOps as the admin, click Project Management, click the new containerized project, and choose Maintenance > Component Management.

    2. Find the bi 6/fr component, and click the Stop button to close the new containerized project.

    Preparing the Original Non-containerized Project

    Backing Up the Original Project


    Backing Up the Whole Project

    For details about backing up the project, see section "Backup Method" in Project Backup and Restoration.

    Noting Down External Database Information of the Original Project

    Log in to the original project as the admin, and choose System Management > System Setting > General > External Database.

    Note down the relevant information of the external database. Ensure that servers, where the external database and the new containerized project are deployed, are interconnected.


    Noting Down the Cluster Information of the Original Project

    Log in to the original project as the admin, and choose System Management > Intelligent O&M > Cluster Configuration.

    Note down the relevant information of State Server and File Server. Ensure that the state server, the file server and the server where the new containerized project is deployed, are interconnected.

    Upgrading the Original Project

    Obtaining the JAR Package

    Paid users can contact the technical support personnel to obtain the project JAR package of the same minor version (accurate to the JAR package date) as that of the new project mentioned in the section "New Project Version Confirmation."

    To contact our technical support personnel, you can send an email to international@fanruan.com or click the  icon at https://help.fanruan.com/fineops-en/.

    Upgrading the Original Non-containerized Project

    For details about upgrading the project to a specified version, see Designer Upgrade Guide.

    Destroying the License

    1. Request the License Migration plugin from the business personnel and destroy the license of the original non-containerized project. For details, see Authorization Migration Plugin.

    2. Find the destruction certificate in the %BI_HOME%/webroot/WEB-INF/resources path of the original non-containerized project and store it properly.

    Closing the Original Project

    Close each project node of the original non-containerized cluster. For details, see Closing or Restarting the FineBI Project.

    Modifying the Data Extraction Storage Path

    iconNote:

    The operations described in this section are only applicable to FineBI projects.

    Modify or create the spider.cluster.properties file in the %BI_HOME%/webroot/WEB-INF/config path on the server of any node of the original project.

    Add the following content to the file: spider_local_base_path=/usr/local/tomcat/webapps/webroot/bi-data/spider/db

    Migrating the Project

    Copying and Pasting Project Files

    1. Check in advance whether the original non-containerized project is configured with a mounting directory and a shared file server. Ensure that the correct files are copied and pasted.

    2. The mounting files of the new containerized project are stored in the mounting path set in the section "Deploying a New Project."

    3. Copy the following files from the project node mentioned in the section "Modifying the Data Extraction Storage Path" and paste them into each node of the new containerized project.

    iconNote:
    1. You cannot use the docker cp command to copy and paste the entire webroot folder into the container, as it may cause functional issues.

    2. You cannot directly copy and paste the entire webroot folder into the mounting directory of the containerized project, as some files cannot be overwritten.

    3. Copy and paste the final file of the project mentioned in the section "Modifying Data Extraction Storage Path" instead of the file backed up in the section "Backing Up the Original Project."

    4. The files of the project need to be copied from the original project nodes mentioned in section "Modifying Data Extraction Storage Path" and pasted into each node of the new containerized project individually.

    5. MinIO utilizes the S3 protocol, so you cannot directly use the files uploaded to the server. For details, see Introduction to MinIO File Server.

    • Files Needed to Be Copied for FineBI

    Original Non-containerized Project Directory

    New Containerized Project Mounting Directory

    Description

    %Tomcat_HOME%/logs

    %BI_HOME%/fanruanxxx/

    bi6/tomcat_logs of each project node

    Function: It is the location of Tomcat general logs.

    Necessity in copying and pasting: optional. Tomcat historical access log may not need to be copied.

    %Tomcat_HOME%/webapps/web

    root/bi-data

    %BI_HOME%/fanruanxx

    x/bi6/bi-data of each project node

    Function: It stores extracted data of FineBI.

    Necessity in copying and pasting: optional.

    If you don't copy and paste it, you'll need to perform a global update and re-extract the data after starting the new project.

    If you copy and paste it, as the folder contains many files, the process will take a long time. You need to wait patiently.

    %Tomcat_HOME%/webapps/web

    root/logs

    %BI_HOME%/fanruanxx

    x/bi6/logs of each project node

    Function: It stores swift logs.

    Necessity in copying and pasting: optional.

    If you do not copy and paste it, logdb (the historical operation logs of the project)l will be lost. There will be no data under Platform Management > Platform Log.

    You do not need to copy and paste it if historical usage information is not required.

    %Tomcat_HOME%/webapps/web

    root/WEB-INF/classes

    %BI_HOME%/fanruanxx

    x/bi6/classes of each project node

    Function: It stores default and custom class files called by the project.

    Necessity in copying and pasting: necessary.

    It may store custom class files. If you do not copy and paste it, the normal use of the project will be affected.

    %Tomcat_HOME%/webapps/web

    root/WEB-INF/config

    %BI_HOME%/fanruanxx

    x/bi6/config of each project node

    Function: It stores configuration-database-related files.

    Necessity in copying and pasting: necessary.

    It stores the information of the configuration database (finedb) called by the platform. If you do not copy and paste it, the normal use of the project will be affected.

    You are advised to only apply updates by overwriting instead of deleting everything before copying and pasting to avoid losing essential files.

    Locate the following two directories:

    %Tomcat_HOME%/webapps/web

    root/WEB-INF/lib

    %Tomcat_HOME%/webapps/web

    root/WEB-INF/customLib

    iconNote:

    The following are built-in JAR packages for the project and do not need to be copied. Any other JAR packages defined by yourself need to be copied.

    Click to show more

    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%/fanruanxx

    x/bi6/customlib of each project node

    Function: It stores JAR packages customized by projects or externally imported JAR packages.

    Necessity in copying and pasting: necessary. Otherwise, template access will be affected.

    %Tomcat_HOME%/webapps/web

    root/WEB-INF/plugins

    %BI_HOME%/fanruanxx

    x/bi6/plugins of each project node

    Function: It stores plugin-related files.

    Necessity in copying and pasting: necessary. Otherwise, plugin-related functions will be affected.

    • Files Needed to Be Copied for FineReport

    Original Non-containerized Project Directory

    New Containerized Project Mounting Directory

    Description

    %Tomcat_HOME%/logs

    %FR_HOME%/fanruanxx

    x/fr/tomcat_logs of each project node

    Function: It is the location of Tomcat general logs.

    Necessity in copying and pasting: optional. Tomcat historical access log may not need to be copied.

    %Tomcat_HOME%/webapps/we

    broot/logs

    %FR_HOME%/fanruanxx

    x/fr/logsof each project node

    Function: It stores swift logs.

    Necessity in copying and pasting: optional.

    If you do not copy and paste it, logdb (the historical operation logs of the project)l will be lost. There will be no data under Platform Management > Platform Log. 

    You do not need to copy and paste it if historical usage information is not required.

    %Tomcat_HOME%/webapps/we

    broot/WEB-INF/classes

    %FR_HOME%/fanruanxx

    x/fr/classes of each project node

    Function: It stores default and custom class files called by the project.

    Necessity in copying and pasting: necessary.

    It may store custom class files. If you do not copy and paste it, the normal use of the project will be affected.

    %Tomcat_HOME%/webapps/we

    broot/WEB-INF/config

    %FR_HOME%/fanruanxx

    x/fr/config of each project node

    Function: It stores configuration-database-related files. 

    Necessity in copying and pasting: necessary.

    It stores the information of the configuration database (finedb) called by the platform. If you do not copy and paste it, the normal use of the project will be affected.

    You are advised to only apply updates by overwriting instead of deleting everything before copying and pasting to avoid losing essential files.

    Locate the following two directories:

    %Tomcat_HOME%/webapps/we

    broot/WEB-INF/lib

    %Tomcat_HOME%/webapps/we

    broot/WEB-INF/customLib

    Copy and paste all custom JAR files except for the following built-in JARs of the project.

    Click to show more

    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%/fanruanxx

    x/fr/customlib of each project node

    Function: It stores JAR packages customized by projects or externally imported JAR packages.

    Necessity in copying and pasting: necessary. Otherwise, template access will be affected.

    %Tomcat_HOME%/webapps/we

    broot/WEB-INF/plugins

    %FR_HOME%/fanruanxx

    x/fr/plugins of each project node

    Function: It stores plugin-related files.

    Necessity in copying and pasting: necessary. Otherwise, plugin-related functions will be affected.

    Starting All Project Nodes

    Log in to FineOps, click Project Management, click the new containerized project, and choose Maintenance > Component Management.

    Find the bi 6 component and click the Start button of the component to start all project nodes. See the following figure:

    Verifying If Migration is Successful

    Log in to all project nodes sequentially:

    1. If all cluster nodes appear on the Node Management page under System Management > Intelligent O&M > Cluster Configuration, the multi-node cluster has been successfully configured.

    2. If the project configuration of each node is identical, the external database has been successfully configured.

    Migrating the License

    Request the license image file fanruan_license_server.tar from the business personnel and authorize the new containerized project. For details, see New Project Registration.

    Attach the destruction certificate obtained in previous steps to the email, and specify that it is for migration of a non-containerized project to a containerized project.

    Attachment List


    Theme: Existing Project Manipulation
    Previous
    Next
    • Helpful
    • Not helpful
    • Only read

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    Get
    Help
    Online Support
    Professional technical support is provided to quickly help you solve problems.
    Online support is available from 9:00-12:00 and 13:30-17:30 on weekdays.
    Page Feedback
    You can provide suggestions and feedback for the current web page.
    Pre-Sales Consultation
    Business Consultation
    Business: international@fanruan.com
    Support: support@fanruan.com
    Page Feedback
    *Problem Type
    Cannot be empty
    Problem Description
    0/1000
    Cannot be empty

    Submitted successfully

    Network busy