1. 概述
1.1 版本
報表伺服器版本 | 功能變更 |
---|---|
11.0 | - |
1.2 應用場景
企業部署完工程後,可能會因為伺服器到期、測試生產環境互相copy等因素,需要遷移工程。
1.3 方案選擇
帆軟提供各種情況下的工程遷移方案。
本文方案,幫助使用者將原有非容器化部署的單機工程,遷移為非容器化部署的單機工程。
建議在查看本文方案之前,參考下表選擇更適合自己的遷移方案。如不需要更換工程部署方式,無需查看下錶,參考本文遷移即可。
現有工程 | 遷移後工程 | 方案說明 | |
---|---|---|---|
遷移方案選擇主旨:優先選擇叢集、優先選擇容器化部署 叢集優勢:相比於單機工程,叢集具有高可用性、高效能、易於管理、可伸縮性和安全保障等優點,適用於企業級的報表生成和管理需求 容器化部署優勢:相比於傳統部署架構,容器化部署具有隔離性、可攜性、靈活性、可伸縮性和可控性等優點,可大幅降低企業的維護成本和資源成本 | |||
單機工程 | 非容器化部署 | 容器化叢集 | 伺服器資源充足 工程推薦配置節點數≥2節點 |
容器化單機 | 伺服器資源緊張 | ||
非容器化單機 | 仍堅持傳統方式遷移至新單機工程,可參考本文進行 | ||
容器化部署 | 容器化叢集 | 伺服器資源充足 工程推薦配置節點數≥2節點 | |
容器化單機 | 伺服器資源緊張 | ||
叢集工程 | 非容器化部署 | 容器化叢集(遷移工程和叢集組件) | 1)伺服器資源充足 2)遷移後原叢集工程仍可啟動 3)全新部署新叢集工程和叢集組件 |
容器化叢集(僅遷移工程) | 1)伺服器資源緊張 2)遷移後僅需啟動新叢集工程,無法啟動原工程 3)部署新叢集工程,呼叫原叢集組件 | ||
容器化部署 | 容器化叢集 | 唯一選擇 |
2. 新工程準備
2.1 部署新工程
請參考 Linux下Tomcat伺服器部署包 ,部署一個全新FineReport工程。
2.2 確認新工程伺服器剩餘磁碟空間
1)檢查原工程的大小。
2)根據原工程大小,適度擴展新工程所在伺服器節點剩餘磁碟空間,建議大於原工程的兩倍。
2.3 確認新工程版本
由於官網下載的部署包,一般為帆軟發佈的最新版本。因此使用者需要先確認新工程版本,確定後續升級舊工程到同一版本。
管理者登入新工程,點選「管理系統>註冊管理>版本資訊」,查看新工程的小版本號(精確到JAR包日期)。
2.4 關閉新工程
請參考「關閉或重啟FineReport工程」文檔,關閉新工程。
3. 原工程準備
3.1 備份原工程
在進行工程遷移前,為避免遷移失敗,導致工程檔案丟失無法回退等問題,請務必對原工程進行備份後再進行後續操作。
請參考 工程備份還原 4.1節,對工程進行備份。
3.2 升級原工程
由於新部署的 FineReport 工程,一般為帆軟發佈的較新版本。
因此使用者需要將原工程升級到同一新版本,方可進行同版本間的遷移。
1)判斷是否需要升級
管理者登入老工程,點選「管理系統>註冊管理>版本資訊」,查看老工程的小版本號,檢查是否與2.3節新工程版本號一致。
若一致,則可跨越本節步驟;若不一致,必須執行本節操作,升級到同一版本方可。
2)獲取JAR包
付費使用者請聯絡帆軟技術支援,獲取2.3節新工程同一小版本的工程JAR包(精確到JAR包日期)。
技術支援聯絡方式:前往「服務」,選擇「線上支援」、電話「400-811-8890」。
3)升級原工程
請參考「Finereport小版本升級」文檔升級工程至指定版本。
3.3 確認原工程配置庫
為了保證新老工程的平台配置完全一致,需要同步兩個工程的配置庫。使用者需要先確認老工程所用的finedb資料庫資訊。
管理者登入原工程,點選「管理系統>系統管理>標準」,檢查外接資料庫是否已配置。
3.3.1 未配置外接資料庫
未配置:說明工程未配置外接資料庫,無需額外操作
(對於正式工程,建議管理者為其配置外接資料庫,工程使用更加穩定,詳情請參見:配置外接資料庫)
3.3.2 已配置外接資料庫
已配置:點選「已配置」,記錄該工程的外接資料庫位置資訊。使用者必須確定新工程所在伺服器與該外接資料庫所在伺服器互通。
1)備份配置庫
請使用第三方資料庫管理工具,存取原工程的配置庫。
對配置庫表空間進行備份,假設原配置庫的表空間名稱為finedb,備份表空間的名稱為finedbbak。
2)對接備份庫
管理者登入原工程,點選「管理系統>系統管理>標準」,點選外接資料庫「已配置」
修改資料庫名稱為備份表空間名稱
輸入資料庫使用者密碼
請勿勾選「遷移資料至要啟動的資料庫」
點選「啟動新資料庫」即可。
3.4 關閉原工程
請參考「關閉或重啟FineReport工程」文檔,關閉原工程。
3.5 檢查原工程路徑
一般來說,工程路徑為%Tomcat_HOME%/webapps/webroot,但是為了配置短鏈,可能配置了外掛目錄,工程路徑就會發生變化。
檢查方法:查看原工程%Tomcat_HOME%/conf/server.xml檔案,查看是否配置了docBase,若配置了,那麼該路徑即為原工程外掛目錄的路徑
4. copy檔案
請將原工程路徑webroot資料夾內容,copy到新工程%Tomcat_HOME%/webapps/webroot中。
1)請提前按照3.5節,檢查原工程是否配置了外掛目錄,確定copy到正確的檔案。
2)請勿使用3.1節備份的檔案,而是使用工程最終的檔案進行copy操作。
3)若伺服器資源不足,webroot資料夾過大,請至少copy工程中以下檔案:
工程檔案 | 說明 |
---|---|
/webroot/backup | 作用:工程歷史備份檔案 是否必須copy:使用者自行決定,可儲存在原始的目錄下備份,可不copy |
/webroot/help | 作用:工程自訂內容 是否必須copy:必須copy 該資料夾中存放着自訂地圖、自訂函式、客製css、客製js等檔案,不copy會導致範本預覽出現異常 |
/webroot/logs | 作用:swift日誌 是否必須copy:使用者自行決定 如果不copy,會丟失工程歷史操作日誌(即logdb),「管理系統>平台日誌」功能無資料 如對歷史使用情況無要求,無需copy |
/webroot/WEB-INF/assets/temp_attach | 作用:讀寫快取儲存路徑 是否必須copy:必須copy 該資料夾中存放着工程讀寫(圖片)快取,不copy可能會導致範本設定的背景圖片預覽為空 |
/webroot/WEB-INF/assets/vcs | 作用:FineReport範本備份檔案 是否必須copy:使用者自行決定 如果工程不需要回退歷史開發的FineReport範本,則無需copy |
/webroot/WEB-INF/assets/其他檔案 | 作用:通用的共享持久化目錄 是否必須copy:必須copy 工程正常運作所需要的檔案,如不copy會影響工程正常使用 |
/webroot/WEB-INF/classes | 作用:工程呼叫的預設和自訂class檔案 是否必須copy:必須copy 有可能存在自訂的class檔案,如不copy會影響工程正常使用 |
/webroot/WEB-INF/config | 作用:配置庫相關檔案 是否必須copy:必須copy 平台呼叫的配置庫(finedb),如不copy會影響工程正常使用 |
/webroot/WEB-INF/dpworks | 作用:FineDataLink任務相關的配置檔案 是否必須copy:必須copy,如不copy會影響FineDataLink任務使用 (如不存在該資料夾,說明工程沒有使用FDL相關功能,略過) |
/webroot/WEB-INF/embed | 作用:存放着工程曾經/現在使用的內建finedb資料庫 是否必須copy:必須copy,即使現在使用着外接配置庫,也建議copy,方便回退 |
/webroot/WEB-INF/lib | 作用:工程原有/外部引入的JAR包,提供工程所有基礎功能,是工程的關鍵檔案 是否必須copy:必須copy,如不copy會影響範本存取 |
/webroot/WEB-INF/plugins | 作用:插件相關檔案 是否必須copy:必須copy,如不copy會影響插件相關功能的實現 |
/webroot/WEB-INF/reportlets | 作用:FineReport範本存放目錄 是否必須copy:必須copy,如不copy會導致工程所有範本丟失 |
/webroot/WEB-INF/schedule | 作用:排程管理生成的檔案 是否必須copy:使用者自行決定 如果不copy,定時任務掛載到決策平台的結果報表無法存取 |
5. 啟動原工程
5.1 啟動原工程
參考 關閉或重啟FineBI工程 / 關閉或重啟FineReport工程 文檔,啟動原工程。
5.2 對接原配置庫
若3.3節原工程未配置外接資料庫,僅使用內建資料庫,請直接跨越本節內容。
3.3節,原工程對接了備份配置庫,此時需要將其切換為原配置庫,確定新老工程不會同時對接一個配置庫。
管理者登入原工程,點選「管理系統>系統管理>標準」,點選外接資料庫「已配置」
修改資料庫名稱為原表空間名稱
輸入資料庫使用者密碼
請勿勾選「遷移資料至要啟動的資料庫」
點選「啟動新資料庫」即可。
6. 啟動新工程
請參考「關閉或重啟FineReport工程」文檔,啟動新工程。