非容器化單機遷移容器化單機

  • 最後修改時間:2025-02-26
  • 1. 概述

    1.1 版本


    工程版本
    功能變更

    FineReport11.0

    FineBI6.0

    -

    注:本文不適用於FineBI6.1,如有相關場景,請聯絡帆軟技術支援協助。


    1.2 應用場景

    相比於普通單機工程,容器化部署的工程,升級和維護成本較低。

    本文方案,幫助使用者將原有非容器化部署的單機工程,遷移為容器化部署的單機工程。

    注:全文以FineBI作為示範。FineReport遷移步驟基本一致,僅需要兩個點:

    1)copy檔案時,FineReport和FineBI需要copy的檔案不完全相同,注意文檔中的表格即可。

    2)使用維運平台啟停容器時,FineReport關閉的是fr組件,FineBI關閉的是bi6組件。

    1.3 步驟簡介

    序號
    說明
    1 瞭解遷移步驟

    請務必在執行遷移前,完整閱讀本節步驟簡介,瞭解每個步驟的作

    請務必先提前確認相關相容問題,再進行工程遷移:遷移前相容須知

    2

    新容器化工程準備

    2.1 部署維運平台

    容器化部署FineReport/FineBI,需要透過FineOps維運平台前端實現

    因此使用者需要先部署一個FineOps維運平台

    2.2 部署新工程

    遷移專案,是從原有非容器化工程,遷移到新的容器化工程

    因此使用者需要先透過FineOps維運平台部署一個新的容器化單機工程

    2.3 確認新工程版本

    由於容器化部署的工程,一般為帆軟發佈的較新版本

    因此使用者需要先確認新工程版本,確定後續升級舊工程到同一版本

    2.4 關閉新工程

    遷移時,需要將老工程的一些檔案copy到新工程中,這個操作需要在新工程停止運作的狀態下進行

    因此使用者要透過FineOps維運平台前端快速關閉新工程

    2.5 備份新工程config資料夾

    容器化部署新工程時,會自動生成工程部署所用語句,後續營維運護時可能會需要使用/尋找,在遷移程式中該語句所在檔案會被改寫

    因此使用者需要提前異地備份該檔案所在config資料夾

    3

    原非容器化工程準備

    3.1 備份原工程

    在進行工程遷移前,為避免遷移失敗,導致工程檔案丟失無法回退等問題,請務必對原工程進行備份後再進行後續操作

    3.2 升級原工程

    工程遷移必須基於同版本的工程進行

    因此需要將原非容器化部署的工程升級到新工程同一版本,方可進行遷移

    3.3 確認原工程配置外接資料庫

    容器化專案必須配置外接庫,所以要確定老工程的配置庫已外接,否則無法遷移

    3.4 備份配置庫

    3.5 對接備份庫

    為了防止遷移程式中對finedb配置進行寫入修改,導致老工程無法回退

    因此必須要將老工程的配置庫進行備份,並使老工程連結備份庫

    3.6 確認原工程已安裝插件

    遷移時,需要將原工程的插件改寫新工程,而維運平台對接專案時,部分功能對專案的插件有要求

    因此需要先確認原工程已安裝符合版本要求的插件

    3.7 關閉原工程

    遷移時,需要將原工程的一些檔案copy到新工程中,這個操作需要在原工程停止運作的狀態下進行

    因此使用者需要手動關閉原工程

    copy檔案

    本節即為正式遷移操作

    將原非容器化工程的必要檔案,copy到新容器化工程中

    5

    啟動原工程

    5.1 啟動原工程

    啟動原有工程
    5.2 對接原配置庫

    由於此時新老工程均使用了同一個finedb資料庫,而每個finedb資料庫只能對接一個工程,否則可能導致使用異常

    因此使用者需要將原工程的外接資料庫修改為原配置庫

    6

    啟動新工程

    6.1 啟動新工程

    接下來的操作需要在新工程平台上執行

    使用者要透過FineOps維運平台前端快速啟動新工程

    6.2 重新對接維運平台

    由於copy檔案,導致工程唯一ID發生了變化,此時維運平台對工程的狀態監視可能存在異常

    因此使用者需要重新對維運平台和新工程進行對接

    6.3 遷移新工程配置庫

    由於此時新工程使用的配置庫,是原工程的備份庫,可能並非容器化部署的資料庫組件

    因此使用者需要將新工程的外接資料庫遷移到容器化部署的MySQL資料庫

    6.4 重新抽取資料

    僅FineBI工程需要執行本節操作

    工程遷移後,FineBI一般需要重新進行資料抽取,業務使用者方可正常使用

    因此使用者需要在抽取前確認並修改資料儲存路徑,再執行資料抽取

    6.5 新工程註冊支援全新註冊,或遷移老工程授權到新工程

    2. 新容器化工程準備

    注:建議部署新工程、老工程、維運平台所用伺服器內網互通,會大幅降低遷移難度。

    2.1 部署維運平台

    詳情請參見:部署維運平台

    2.2 部署新工程

    詳情請參見:部署新專案

    注意事項1:遷移時,需要將老工程的一些必要檔案、資源copy到新工程中,因此必須要確定新工程磁碟空間足夠大。

    1)檢查原非容器化工程%Tomcat_home%\webapps\webroot資料夾的大小。假設為xG。

    2)在準備新工程所在伺服器時,請根據原工程大小,適度擴展新工程所在伺服器節點剩餘磁碟空間。

          建議新工程最小剩餘磁碟空間大小為 max(2x , 500) G。

    注意事項2:遷移後,為了確定新老工程的存取地址一致,必須確定存取路徑名稱一致

    在「部署新專案-專案設定」環節,確認存取路徑配置。

    • 如果老工程做了短域名/IP存取,請將存取路徑置空

    • 如果老工程修改了存取路徑,即http://IP:port/webroot/decision中的webroot被修改為了其他詞,請將存取路徑修改為對應詞

    注意事項3:遷移時,需要將老工程的一些檔案copy到新工程中,因此需要記錄下新工程存放檔案的外掛目錄位置。

    在「部署新專案-節點配置」環節,記錄下主應用節點的掛載路徑。

    注意事項4:部署新工程時,會同時部署一些必要組件,建議記錄下組件的資訊,方便在後續維護程式中查看。

    請在「部署新專案-部署列表」環節,記錄下MySQL、ElasticSearch組件的相關資訊。

    由於組件密碼隨機生成,請務!必!修改組件的密碼,方便後續使用。


    2.3 確認新工程版本

    1)管理者登入FineOps維運平台,在「維運管理>專案管理」中,可點選存取新工程。

    2)管理者登入新工程,點選「管理系統>註冊管理>版本資訊」,可查看新容器化工程的小版本號(精確到JAR包日期)。

    2.4 關閉新工程

    1)管理者登入維運平台,選擇新工程,點選「維護>組件管理」。

    2)找到bi6/fr組件,點選「停止」按鈕,即可關閉新工程。

    2.5 備份新工程config資料夾

    1)使用終端裝置存取新容器化工程所在伺服器,進入2.2節記錄的掛載路徑/fanruanxxx/bi目錄下。

    注:如果忘記了新工程的掛載路徑,可透過匯出專案部署資訊查看。

    2)找到config資料夾,資料夾中存放的yaml檔案有着工程部署所用語句,請務必異地備份。

    3. 原非容器化工程準備

    3.1 備份原工程

    詳情請參見 工程備份還原 3.1節,對工程進行備份。

    3.2 升級原工程

    1)獲取JAR包

    付費使用者請聯絡帆軟技術支援,獲取2.3節新工程同一小版本的工程JAR包(精確到JAR包日期)。

    技術支援聯絡方式:前往「服務」,選擇「線上支援」。

    2)升級原工程

    請參考「FineBI小版本升級 / FineReport小版本升級」文檔升級工程至指定版本。

    3.3 確認配置外接庫

    管理者登入原工程,點選「管理系統>系統管理>標準」,檢查外接資料庫是否已配置。

    如顯示「已配置」,說明工程已配置外接配置庫,點選查看並記錄下該外接資料庫位置資訊,即可進入下一步。

    如顯示「待配置」,請先為該非容器化工程配置一個外接配置庫。

    • 請在配置時勾選「遷移資料至要啟動的資料庫」

    • 可使用2.2節的MySQL組件作為外接配置庫。請自行新增表空間,請勿使用原有表空間!表空間要求可參考:帆軟對接MySQL配置庫

    • 可自行準備配置庫,建議優先考慮MySQL8請確定新老工程所在伺服器與該資料庫所在伺服器互通

    3.4 備份配置庫

    請使用第三方資料庫管理工具,存取老工程的配置庫。

    對配置庫表空間進行備份,假設原配置庫的表空間名稱為finedb,備份表空間的名稱為finedbbak。

    3.5 對接備份庫

    管理者登入原工程,點選「管理系統>系統管理>標準」,點選外接資料庫「已配置」

    • 修改資料庫名稱為備份表空間名稱

    • 輸入資料庫使用者密碼

    • 請勿勾選「遷移資料至要啟動的資料庫」

    點選「啟動新資料庫」即可。

    3.6 確認已安裝插件

    管理者登入原工程,點選「管理系統>插件管理」。

    1)必須確認安裝以下插件,並升級至最新:系統維運、資源調度熔斷插件。

    2)建議升級其他已安裝插件至最新版本。

    3.7 關閉原工程

    請參考 關閉或重啟FineBI工程 / 關閉或重啟FineReport工程 文檔,關閉原非容器化部署的工程。

    4. copy檔案

    1)請提前檢查原非容器化部署的工程,是否配置了外掛目錄、是否配置共享檔案伺服器,確定copy到正確的檔案。

    2)新容器化工程外掛檔案所在位置,為2.2節記錄的掛載路徑。如果忘記了新工程的掛載路徑,可透過匯出專案部署資訊查看。

    3)將以下檔案,從原非容器化部署的工程,copy到新容器化部署的工程中:

    注1:請勿直接 docker cp 整個webroot資料夾到容器,會導致功能異常。

    注2:請勿直接copy整個webroot資料夾到容器化工程的外掛目錄,部分檔案不可以被改寫。

    注2:請勿使用3.1節備份的檔案,而是使用工程最終的檔案進行copy操作。

    • FineBI需要copy的檔案

    原非容器化工程目錄新容器化工程外掛目錄說明
    %Tomcat_HOME%/logs%BI_HOME%/fanruanxxx/bi6/tomcat_logs

    作用:Tomcat通用日誌位置

    是否必須copy:使用者自行決定,Tomcat歷史存取日誌,可不copy

    %Tomcat_HOME%/webapps/webroot/backup%BI_HOME%/fanruanxxx/bi6/backup

    作用:工程歷史備份檔案

    是否必須copy:使用者自行決定,可儲存在原始的目錄下備份,可不copy

    %Tomcat_HOME%/webapps/webroot/bi-data%BI_HOME%/fanruanxxx/bi6/bi-data

    作用:FineBI抽取資料

    是否必須copy:使用者自行決定

    如果不copy,在新工程啟動後需要全局更新,重新抽取資料

    如果copy,該資料夾中檔案數量很多,copy耗時很久,請耐心等待

    %Tomcat_HOME%/webapps/webroot/logs%BI_HOME%/fanruanxxx/bi6/logs

    作用:swift日誌

    是否必須copy:使用者自行決定

    如果不copy,會丟失工程歷史操作日誌(即logdb),「管理系統>平台日誌」功能無資料

    如對歷史使用情況無要求,無需copy

    %Tomcat_HOME%/webapps/webroot/WEB-INF/assets/temp_attach%BI_HOME%/fanruanxxx/bi6/assets/temp_attach

    作用:FineBI資料表相關資訊

    是否必須copy:必須copy

    該資料夾中存放着工程Excel原始檔案資訊,如不copy該資料夾會導致原始Excel丟失

    %Tomcat_HOME%/webapps/webroot/WEB-INF/assets/vcs%BI_HOME%/fanruanxxx/bi6/assets/vcs

    作用:FineReport範本備份檔案

    是否必須copy:使用者自行決定

    如果工程未使用FineReport範本,或不需要回退歷史開發的FineReport範本,則無需copy

    %Tomcat_HOME%/webapps/webroot/WEB-INF/assets/其他檔案%BI_HOME%/fanruanxxx/bi6/assets/其他檔案

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

    是否必須copy:必須copy

    工程正常運作所需要的檔案,如不copy會影響工程正常使用

    %Tomcat_HOME%/webapps/webroot/WEB-INF/classes%BI_HOME%/fanruanxxx/bi6/classes

    作用:工程呼叫的預設和自訂class檔案

    是否必須copy:必須copy

    有可能存在自訂的class檔案,如不copy會影響工程正常使用

    %Tomcat_HOME%/webapps/webroot/WEB-INF/config%BI_HOME%/fanruanxxx/bi6/config

    作用:配置庫相關檔案

    是否必須copy:必須copy

    平台呼叫的配置庫(finedb),如不copy會影響工程正常使用

    找到以下兩個目錄:

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

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

    以下為工程自帶JAR,無需copy,除此之外的使用者自訂JAR均需copy:

    點選展開更多


    %BI_HOME%/fanruanxxx/bi6/customlib

    作用:工程客製/外部引入的JAR包

    是否必須copy:必須copy,如不copy會影響範本存取

    %Tomcat_HOME%/webapps/webroot/WEB-INF/dpworks%BI_HOME%/fanruanxxx/bi6/dpworks

    作用:FineDataLink任務相關的配置檔案

    是否必須copy:必須copy,如不copy會影響FineDataLink任務使用

    (如不存在該資料夾,說明工程沒有使用FDL相關功能,略過)

    %Tomcat_HOME%/webapps/webroot/WEB-INF/plugins%BI_HOME%/fanruanxxx/bi6/plugins

    作用:插件相關檔案

    是否必須copy:必須copy,如不copy會影響插件相關功能的實現。

    請先刪除資料夾中原有檔案,再將老工程插件包copy進來,否則同一個插件可能共存多個版本,導致異常。

    %Tomcat_HOME%/webapps/webroot/WEB-INF/reportlets%BI_HOME%/fanruanxxx/bi6/reportlets作用:FineReport範本存放目錄

    是否必須copy:使用者自行決定

    如果工程未使用FineReport範本,則無需copy

    %Tomcat_HOME%/webapps/webroot/WEB-INF/schedule%BI_HOME%/fanruanxxx/bi6/schedule作用:排程管理生成的檔案

    是否必須copy:使用者自行決定

    如果不copy,定時任務掛載到決策平台的結果報表無法存取

    任何其他需要保留的資源檔案%BI_HOME%/fanruanxxx/bi6/help作用:外部資源檔案

    是否必須copy:使用者自行決定

    維運平台部署的工程,不支援直接在/掛載目錄/fanruanxxx/bi6下建立資料夾,會因為未持久化而丟失

    對於老工程下,任何其他需要保留的資源檔案,可考慮存放到help資料夾下(請注意,在工程遷移成功後,相關資源引用地址,也需要自行手動更換)

    • FineReport需要copy的檔案

    原非容器化工程目錄新容器化工程外掛目錄說明
    %Tomcat_HOME%/logs%FR_HOME%/fanruanxxx/fr/tomcat_logs

    作用:Tomcat通用日誌位置

    是否必須copy:使用者自行決定,Tomcat歷史存取日誌,可不copy

    %Tomcat_HOME%/webapps/webroot/backup%FR_HOME%/fanruanxxx/fr/backup

    作用:工程歷史備份檔案

    是否必須copy:使用者自行決定,可儲存在原始的目錄下備份,可不copy

    %Tomcat_HOME%/webapps/webroot/logs%FR_HOME%/fanruanxxx/fr/logs

    作用:swift日誌

    是否必須copy:使用者自行決定

    如果不copy,會丟失工程歷史操作日誌(即logdb),「管理系統>平台日誌」功能無資料

    如對歷史使用情況無要求,無需copy

    %Tomcat_HOME%/webapps/webroot/WEB-INF/assets/temp_attach%FR_HOME%/fanruanxxx/fr/assets/temp_attach

    作用:讀寫快取儲存路徑

    是否必須copy:必須copy

    該資料夾中存放着工程讀寫(圖片)快取,不copy可能會導致範本設定的背景圖片預覽為空

    %Tomcat_HOME%/webapps/webroot/WEB-INF/assets/vcs%FR_HOME%/fanruanxxx/fr/assets/vcs

    作用:FineReport範本備份檔案

    是否必須copy:使用者自行決定

    如果工程不需要回退歷史開發的FineReport範本,則無需copy

    %Tomcat_HOME%/webapps/webroot/WEB-INF/assets/其他檔案%FR_HOME%/fanruanxxx/fr/assets/其他檔案

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

    是否必須copy:必須copy

    工程正常運作所需要的檔案,如不copy會影響工程正常使用

    %Tomcat_HOME%/webapps/webroot/WEB-INF/classes%FR_HOME%/fanruanxxx/fr/classes

    作用:工程呼叫的預設和自訂class檔案

    是否必須copy:必須copy

    有可能存在自訂的class檔案,如不copy會影響工程正常使用

    %Tomcat_HOME%/webapps/webroot/WEB-INF/config%FR_HOME%/fanruanxxx/fr/config

    作用:配置庫相關檔案

    是否必須copy:必須copy

    平台呼叫的配置庫(finedb),如不copy會影響工程正常使用

    找到以下兩個目錄:

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

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

    以下為工程自帶JAR,無需copy,除此之外的使用者自訂JAR均需copy:

    點選展開更多


    %FR_HOME%/fanruanxxx/fr/customlib

    作用:工程客製/外部引入的JAR包

    是否必須copy:必須copy,如不copy會影響範本存取

    %Tomcat_HOME%/webapps/webroot/WEB-INF/dpworks%FR_HOME%/fanruanxxx/fr/dpworks

    作用:FineDataLink任務相關的配置檔案

    是否必須copy:必須copy,如不copy會影響FineDataLink任務使用

    (如不存在該資料夾,說明工程沒有使用FDL相關功能,略過)

    %Tomcat_HOME%/webapps/webroot/WEB-INF/plugins%FR_HOME%/fanruanxxx/fr/plugins

    作用:插件相關檔案

    是否必須copy:必須copy,如不copy會影響插件相關功能的實現。

    請先刪除資料夾中原有檔案,再將老工程插件包copy進來,否則同一個插件可能共存多個版本,導致異常。

    %Tomcat_HOME%/webapps/webroot/WEB-INF/reportlets%FR_HOME%/fanruanxxx/fr/reportlets作用:FineReport範本存放目錄

    是否必須copy:必須copy,如不copy會導致工程所有範本丟失

    %Tomcat_HOME%/webapps/webroot/WEB-INF/schedule%FR_HOME%/fanruanxxx/fr/schedule作用:排程管理生成的檔案

    是否必須copy:使用者自行決定

    如果不copy,定時任務掛載到決策平台的結果報表無法存取

    任何其他需要保留的資源檔案%FR_HOME%/fanruanxxx/fr/help作用:外部資源檔案

    是否必須copy:使用者自行決定

    維運平台部署的工程,不支援直接在/掛載目錄/fanruanxxx/bi6下建立資料夾,會因為未持久化而丟失

    對於原工程下,任何其他需要保留的資源檔案,可考慮存放到help資料夾下(請注意,在工程遷移成功後,相關資源引用地址,也需要自行手動更換)

    5. 啟動原非容器化工程

    5.1 啟動原工程

    參考 關閉或重啟FineBI工程 / 關閉或重啟FineReport工程 文檔,啟動原非容器化部署的工程。

    5.2 對接原配置庫

    3.5節,原工程對接了備份配置庫,此時需要將其切換為原配置庫,確定新老工程不會同時對接一個配置庫。

    管理者登入原工程,點選「管理系統>系統管理>標準」,點選外接資料庫「已配置」

    • 修改資料庫名稱為原表空間名稱

    • 輸入資料庫使用者密碼

    • 請勿勾選「遷移資料至要啟動的資料庫」

    點選「啟動新資料庫」即可。

    6. 啟動新容器化工程

    6.1 啟動新工程

    1)管理者登入維運平台,選擇新工程,點選「維護>組件管理」。

    2)找到bi6/fr組件,點選「啟動」按鈕,即可啟動新工程。如下圖所示:

    6.2 重新對接維運平台

    1)取消維運平台對接

    管理者登入維運平台,選擇新工程,點選「刪除」,將新工程從維運平台管理列表中刪除。

    此處的刪除,僅代表維運平台與新工程的對接中斷,不代表新工程直接被剷除。

    2)工程發起對接請求

    管理者登入新工程,點選「管理系統>系統管理>標準」。

    在「維運平台連結設定」中,輸入「維運平台地址」,點選「儲存」。

    維運平台地址形如:http://IP:埠號/ops/decision

    3)維運平台確認對接

    請在五分鐘內,使用管理者帳號登入維運平台。維運平台提示「發現新專案」。

    點選「新增專案」,設定「專案名稱」,點選「確認」即可。

    6.3 遷移新工程配置庫

    如果3.4節備份配置庫,所使用的並非2.2節部署新專案時所部署的MySQL組件,請務必執行本節操作。

    1)管理者登入維運平台,選擇新工程,點選「維護>叢集管理」,對「外接配置庫」進行配置。

    2)輸入相關資訊並遷移

    • 資料庫類型:選擇「mysql」

    • 驅動:無需調整,選擇「com.mysql.jdbc.Driver」即可

    • 資料庫名稱、主機、埠、帳號、密碼:填寫2.2節部署新專案時,記錄的MySQL資料庫資訊。(如果忘記了,可透過2.5節留存的部署資訊尋找)

    • 資料連結URL:一般無需手動修改,會由其他配置和預設參數共同組成

    • 請勾選「遷移資料至要啟動的資料庫」

    6.4 重新抽取資料

    注:僅FineBI工程需要執行本節操作。

    1)管理者登入新工程,點選「公共資料>全局更新」,即可看到資料的儲存路徑。

    2)請確定修改為新工程容器內資料存放路徑:/usr/local/tomcat/webapps/webroot/bi-data/spider/db,點選「確定」,更改成功。

    3)再次存取「公共資料>全局更新」,執行「立即全局更新」,即可抽取最新資料,並存放到正確的儲存路徑中。

    6.5 新工程註冊

    全新註冊:容器化工程請使用 註冊新專案 方式進行註冊。

    授權遷移:使用者也可棄用原工程,將原工程的授權遷移到新工程。

    1)參考 授權遷移插件 的使用步驟,向商務索要一個授權遷移插件,銷燬原非容器化工程的舊授權。

    2)找到原非容器化工程%BI_HOME%/webroot/WEB-INF/resources資料夾下的銷燬證件。

    3)向商務索要註冊鏡像檔案fanruan_license_server.tar,並參考 註冊新專案 進行授權。

         請在郵件中附上第三步獲取的銷燬證件。並註明是「非容器化工程遷移容器化工程」


    附件列表


    主題: 已有專案接入升級遷移擴容
    已經是第一篇
    已經是最後一篇
    • 有幫助
    • 沒幫助
    • 只是瀏覽