反饋已提交
網絡繁忙
本文簡單介紹:
部署帆軟叢集時支援的部署環境
部署帆軟叢集時必須滿足的要求
叢集組件支援的型別
注1:本文列出的是全量的部署支援環境。建議您參考該文檔選擇最適合的部署環境:工程部署推薦環境
注2:本文列出的是帆軟測試透過的環境。
本文未提及的更低版本,一般預設不支援
本文未提交的更高版本,使用者可自行測試驗證。如果使用後出現問題,付費使用者可聯絡技術支援獲取幫助。技術支援聯絡方式:帆軟官方服務渠道使用説明 。
注3:對於各類叢集組件(例如Nginx/Redis/外接資料庫等),文檔僅列出支援的版本,具體部署方法建議優先查詢具體廠商文檔。
優先推薦使用 Linux 工件系統部署帆軟應用和叢集組件。
系統版本:Ubuntu 18.04.4 及以上
系統核心:3.10 及以上
系統架構:X86_64
注:Linux和Windows對比分析請參見:Linux和Windows對比分析
工件系統
已驗證版本號
Centos 7.0、Centos 7.1、Centos 7.2、Centos 7.3、Centos 7.4
Centos 7.6、Centos 7.8、Centos 7.9
RedHat 7.0、RedHat 7.1、RedHat 7.2、RedHat 7.3、RedHat 7.4
RedHat 7.7
Windows Server 2008 及以上
Windows 11
500G以上
存放內容:
對於帆軟應用,指系統使用時的臨時快取.FineReport110
對於叢集組件,指組件運作時的各種快取
目錄位置:
1)對於linux系統中root使用者啟動的工程
根目錄在/root下
2)對於linux系統中非root使用者啟動的工程
根目錄在/home/$帳號/下
3)對於Windows系統中啟動的工程
根目錄在C:\Users\帳號下
1)中間軟體、檔案伺服器、狀態伺服器包含多種,請根據選擇的情況自行開放埠。
2)埠是否被佔用請參見:埠占用查看。如果預設埠與其他工程有衝突,需要先修改埠,再開放對應的埠。
3)若同一個伺服器部署多個 Tomcat 工程,需要修改 Tomcat 埠號以防埠衝突,具體可參見:修改Tomcat埠號
4)若防火牆開啟,需要開放相關埠號:
Windows 系統開放埠步驟請參見:Windows伺服器設定出入站規則
Linux 系統開放埠步驟請參見:Linux防火牆使用及配置
5)對於 docker 容器,或者伺服器之間埠嚴格限制的環境,需要對節點的伺服器之間開放埠,用於節點間通訊。
選擇 TCP 協定是 7800/7810/7820/7830/7840/7850/7860/7870 八個埠
選擇 UDP 協定是 45588~65536 隨機埠
詳情請參見:
容器Websocket方案
叢集配置WebSocket埠
1)公網環境和內網環境均可部署帆軟應用和叢集組件。如下表所示:
2)各個工程節點、叢集組件、外接資料庫間需要支援通訊。
帆軟應用支援單機和叢集部署,叢集則為多個工程節點。
每個節點都是一個可以獨立運作的工程,負責處理使用者的請求,處理生成報表的任務和管理其他組件的工作。
建議按照工程併發數,準備不同數量和配置的工程節點,具體如下表所示:
注1:一個伺服器只能部署叢集的一個工程節點,不支援在一臺伺服器部署叢集的多個工程節點。
注2:每個節點伺服器 JVM 記憶體建議 8G 以上,不超過 32G,過大會導致系統 FullGC 時間過長。
推薦配置
70% 場景的平均回应時間低於3s
最低配置
70% 場景的平均回应時間低於5s
單機,節點滿足:
CPU:8 核 16 執行緒 2.4GHZ
JVM 記憶體:16GB
物理記憶體:32G
JVM 記憶體:8GB
物理記憶體:16G
CPU:16 核 32 執行緒 2.5GHZ
JVM 記憶體:24GB
2節點叢集,每個節點滿足:
物理記憶體:48G
3節點叢集,每個節點滿足:
JVM 記憶體:32GB
物理記憶體:64G
注1:使用者維度說明:
註冊使用者數:系統註冊了的使用者。
線上使用者數:使用者同時在一定時間段的線上數量(一般註冊人數的 5% - 20% 之間)。
併發使用者數:同時向伺服器傳送請求的使用者數(一般是線上人數的 10% - 25% 左右)。
注2:配置說明:
推薦配置時:70% 場景的平均響應時間低於 3s。
最低配置時:70% 場景的平均響應時間低於 5s。
請檢查各工程節點伺服器系統時間是否一致
不一致可能會導致叢集不可用及同步問題
容器化部署/部署包部署無需準備本節內容,產品均內建了 JDK 和應用伺服器,內建 JDK 都為 OpenJDK 。
獨立部署需要準備本節內容。需要自備應用伺服器和 JDK 。
FineReport 是純 Java 的 Servlet 應用程式,必須部署在 Tomcat、WebLogic、WebSphere 等中間軟體下。
啟動中間軟體時就會載入 FineReport 這個 Servlet應用程式,工程才能正常運作。
推薦使用 Tomcat8 最新版本
注:使用推薦版本可減少因 Tomcat 版本過低導致的安全問題。
支援Tomcat7.0~9.0 版本
不支援 Tomcat10.0 版
JDK 1.8 且小版本需在 JDK8u102 以上
注1:JDK 版本若不符合這個要求,部署啟動時可能會遇到問題
注2:JDK 版本必須要與工件系統對應,如 32 位的系統只能使用 32 位的 JDK
注3:不支援 OpenLogic OpenJDK 。
1)中間軟體部署注意事項:
如需在docker容器上運作FineReport/FineBI,請確定記憶體大於8G。
建議使用解壓版的 Tomcat 和 JDK。
同一個中間軟體中不能部署多個 FineReport 工程。
使用者環境若安裝多個 Tomcat ,不建議使用者環境變數配置 CATALINA_HOME 或者 TOMCAT_HOME 。否則不論使用者啟動哪個 Tomcat ,啟動的都是 CATALINA_HOME 指定的那個。
7.0.100 版本的 Tomcat 需要將 web.xml 放到%Tomcat_HOME%\webapps\webroot\WEB-INF下,否則會報錯。檔案請參見:web.zip
2)Windows 系統安裝 JDK注意事項:
環境變數 JAVA_HOME 一定要有,Path 下一定要有%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
若環境變數指向的%JRE_HOME%/bin下無 attach.dll 檔案,還需將%JAVA_HOME%/jdk/jre/bin下的 attach.dll copy到此路徑下,否則 Tomcat 啟動後會報錯:fine assist start failed
容器化部署/部署包部署無需準備本節內容,產品內建了全新工程。全新工程部署後,平台登入的帳號和密碼需要自己設定。
獨立部署需要準備本節內容。
部署工程需要準備%FR_HOME%\webapps下的 webroot 資料夾。
需提前準備好工程,已有的工程或者重新 下載最新的工程 。
若使用已有的工程進行部署,平台登入的帳號和密碼是已有工程的。
數據決策系統中除平台屬性配置以外的所有資訊,包括目錄樹設定、範本定時任務資訊等,均儲存於一個資料庫中。
它管理和儲存了工程節點的各種配置資訊,保證各個節點的配置一致,並方便管理者集中管理工程的元資料。
無論是單機還是叢集,正式工程均建議配置外接資料庫。
佔用空間需要結合使用度進行調整,可以根據webapps/webroot/WEB-INF/embed/finedb資料夾大小配置,並根據實際大小預估未來使用大小,增大1~2倍。
外接資料庫儘量和工程節點在同一網段,避免網路波動等問題。
如有條件,建議負載均衡、狀態伺服器、檔案伺服器、外接配置庫組件分別部署在不同的伺服器上,如條件不足,至少確定有單獨的伺服器部署這些組件。
2,主從模式
2.4GHz以上
4核8執行緒
8核16執行緒
100G以上
其中根目錄可用磁碟不可小於40G
非容器化部署需要準備本章內容。容器化部署無需準備本節內容,會自動安裝MySQL資料庫並外接。
8.0.11,8.0.16,8.0.20
在帆軟叢集架構中,負載均衡器是連結使用者和叢集節點之間的組件,以確定使用者請求能夠合理分配到不同的叢集節點上。
負載均衡器可以透過各種算法來分配使用者請求到不同的節點上,以獲得更好的效能和負載均衡效果。
如有條件,建議負載均衡、狀態伺服器、檔案伺服器、外接配置庫組件分別部署在不同的伺服器上
如條件不足,至少確定有單獨的伺服器部署這些組件
Nginx 在 Linux 系統上的部署依賴 GCC 編譯器
請保證系統具備 GCC 編譯環境
查詢命令:gcc -v
安裝命令:yum install gcc gcc-c
1)各個組件和應用工程建議在同一網段,避免網路波動等問題
2)各個組件和應用工程如處於公網環境,帶寬需在10M以上
3)各個組件和應用工程之間需要網路暢通,互相埠可存取
非容器化部署需要準備本章內容。容器化部署無需準備本節內容,會自動安裝Nginx。
高可用叢集推薦使用Keepalived Nginx,標準叢集推薦使用Nginx。
不支援 Apache 負載均衡。
簡介:
Keepalived Nginx是一種實現高可用性和負載均衡的可行方案。
Keepalived透過監視多個Nginx伺服器的狀態,當某個伺服器出現故障時,它可以自動接管該伺服器的IP位址,並將所有請求轉發到其他正常的伺服器上。
這樣可以保證Web服務的高可用性,避免單點故障導致的服務中斷。
優點:
高可用性:Keepalived可以監視伺服器狀態,並自動進行故障轉移,確定服務的高可用性。
負載均衡:Nginx將請求分配到不同的伺服器上,實現負載均衡,提高系統的效能和吞吐量
反向代理:Nginx提供了反向代理功能,將請求轉發到不同的Web伺服器上,保證了Web服務的高效性
缺點:
配置複雜:Keepalived Nginx需要進行復雜的配置,需要一定的技術水平和經驗
需要更多的硬體或虛擬資源,需要至少兩個伺服器,需要增加硬體或虛擬資源的投資
文檔:
Keepalived Nginx部署方案
簡介:Nginx是一款高效能、高可靠性、開源的Web伺服器和反向代理伺服器
廣泛應用於負載均衡、Web快取、安全控制等領域
支援多種反向代理和負載均衡算法,高效能和高併發處理能力,配置簡單,易於擴展
在 Linux 系統上具備很好的併發效能,並且佔用極小的記憶體,穩定性和效能經過充分驗證
不同模組之間的整合不夠完整,對於新手可能有一定的門檻
在 Windows 系統上,若併發需求超過 200,可能會出現併發問題
Linux 系統安裝配置 Nginx
Windows系統安裝配置Nginx
簡介:Traefik是一款現代化、動態負載均衡工具,主要用於Windows系統
無需安裝,只要在命令行裏執行即可,部署和使用非常簡單
支援自動化更新反向代理和負載均衡配置
在 Windows 系統上具備良好的效能
缺點:部分功能需要進階版本,升級版本不夠穩定
文檔:windows系統安裝配置Traefik
簡介:AWS ELB是亞馬遜雲端計算服務中提供的一種負載均衡服務,包括經典負載均衡、應用程式負載均衡和網路負載均衡三種型別,可以實現不同協定的負載均衡
優點:可用性和可靠性,支援多種協定,可快速部署,方便維護
缺點:費用較高,配置和權限管理較為複雜
簡介:F5是一家網路應用服務公司,推出的產品包括負載均衡、應用安全等
優點:高可用性和可靠性,支援多種應用場景和應用型別,提供進階應用安全解決方案
缺點:價格較高,配置較為繁瑣,需要一定的技術支援
狀態伺服器是一個服務組件,用於儲存叢集節點的狀態資訊,如節點的運作狀態、負載、任務處理情況等。
它可以輔助動態分配任務到合適的節點上,並幫助管理者進行實時監視和調度叢集狀態。
Redis 在 Linux 系統上的部署依賴 GCC 編譯器
非容器化部署需要準備本章內容。容器化部署無需準備本節內容,會自動安裝Redis單機。
帆軟叢集方案中支援的狀態伺服器有:Redis單機、Redis叢集、Redis哨兵、騰訊雲Redis叢集4.0
高可用叢集推薦使用Redis叢集,標準叢集推薦使用Redis單機。
Redis單機模式是Redis最簡單的部署方式,只部署一個 Redis 應用
使用起來也最為簡單,只有主機、埠、密碼三個配置項
優點:易於配置和管理,無需考慮資料的分片和叢集等問題,維運成本低
缺點:容易出現單點故障,容量受到單臺伺服器的限制,不能實現高可用性和負載均衡。
文檔:Linux 系統安裝配置單機 Redis
簡介:Redis叢集是一種基於分片的Redis部署方式,它將資料分散到多個節點中,進而可以實現橫向擴展和高可用性。一般是6個Redis節點,組成三主三從的模式提供服務
優點:主節點當機後,基於投票機制從節點可自動上升為主節點,可讓 Redis 服務更加高可用資料分割槽儲存在不同的主節點上,可以大幅度提升 Redis 服務的效能支撐缺點:Redis 叢集對資源的要求比較多,維運成本也會更高,至少需要三臺伺服器,建議準備6臺
由於資料分割槽儲存,所以當一個主節點及其對應的從節點全部當機後,整個 Redis 叢集將不能使用
當存活的主節點數小於總節點數的一半時,整個 Redis 叢集也會無法提供服務文檔:linux系統安裝配置Redis叢集
簡介:Redis哨兵是一種集中式的Redis高可用性解決方案,它會自動監測Redis節點狀態,當某個節點失效時,自動進行故障轉移。主要由一個主節點多個從節點和多個哨兵組成,一般就是一主二從三哨兵
提供較好的高可用性,對於Redis單機和Redis叢集都適用
Redis哨兵只有一個主節點,當主節點當機時,哨兵會選舉一個從節點上升為主節點
需要佔用一定的系統資源,需要定期檢查Redis的狀態,不能實現水平擴展
Redis哨兵讀寫效能沒有Redis叢集好,因為Redis叢集有多個主節點可以讀寫,所以不支援高併發
文檔:Redis 哨兵模式插件
簡介:部分使用者在部署程式中,使用的 Redis 為騰訊雲,帆軟提供騰訊雲 Redis 插件,方便使用者在部署叢集時進行適配,該插件只支援騰訊雲資料庫 Redis4.0 叢集版
優點:雲廠商,單機叢集都有,直接選購,比較方便
缺點:需安裝插件
文檔:騰訊雲 Redis 插件
檔案伺服器是叢集中儲存報表資料和附件的組件,它可以集中管理和共享叢集節點之間的檔案,確定檔案資料的一致和高可用性。
由於各個節點都是從同一個檔案伺服器讀取資源檔案,不涉及到同步,各個節點讀取的資源檔案永遠會保持一致。
500G~1T
後續請根據使用情況擴展
非容器化部署需要準備本章內容。容器化部署無需準備本節內容,會自動安裝MinIO。
帆軟支援多種檔案伺服器,下面會對各個型別的檔案伺服器優缺點進行說明。
高可用叢集推薦使用NAS,標準叢集推薦使用SFTP。
推薦級別:SFTP≈MinIO>NFS>FTP≈HDFS
簡介:SFTP是一種透過SSH協定進行加密的檔案傳輸協定,
優點:部署簡單,是Linux系統自帶的,相對於FTP而言更加安全和穩定
非高可用方案,當機後會影響整個服務的使用
由於 SFTP 的傳輸方式使用了加密/解密技術,所以傳輸效率比普通的 FTP 要低得多
文檔:Linux 系統配置使用 SFTP
簡介:FTP是一種檔案傳輸協定,可以透過FTP伺服器實現檔案上傳、下載和管理等功能
優點:穩定性高,效能好,讀寫速度高
缺點:非高可用方案,當機後會影響整個服務的使用
Linux 系統安裝配置 FTP
Windows系統配置FTP服務
優點:高可用方案,分佈式檔案系統,具備高度故障容許度性
缺點:部署難度大,維運成本高,建議已經有HDFS服務的公司選用此方案
文檔:HDFS 資源倉庫
簡介:MinIO是一個輕量級的開源物件儲存伺服器,可以運作在任何環境中,並且支援各種雲儲存API
優點:MinIO具有易於部署和管理、高效能和低成本等優點
缺點:在工程化方面還存在一些不足
文檔:MinIO資源倉庫
簡介:使用支援 S3 協定的雲儲存檔案系統作為檔案伺服器,包括阿里雲 OSS 、華為雲 OBS 、亞馬遜 S3
優點:雲儲存,高可用方案,具備高度故障容許度性,已有此類儲存的客戶對接很方便
只支援部分S3,自建的S3不一定支援
備份還原類場景可能存在卡頓
文檔:S3資源倉庫
簡介:共享外部儲存是一種將外部儲存器與伺服器掛載的方式,可以實現共享資料夾和網路共享等功能
硬體儲存(NAS):穩定性高,儲存空間一般都比較大
軟體儲存(NFS):部署簡單,方案成熟
硬體儲存(NAS):成本高,且非完全的高可用,當機後也會影響服務
軟體儲存(NFS):非高可用,服務端當機後,用戶端就無法再提供服務
文檔:共享外部目錄
增加了快取模式,前端可進行選擇,快取和檔案伺服器搭配使用時可以增加檔案伺服器的高可用性,下面介紹一下如何選擇。
1)快取功能
快取的資源檔案:包含報表檔案、儀表板檔案、配置檔案、地圖資料等,目前是"reportlets/" ,"resources/", "assets/","dashboards"四個資料夾。
被動快取:僅對存取到的資源檔案進行快取。
2)快取作用
提高檔案伺服器的高可用性
快取避免了頻繁的檔案讀寫,速度更快,可大幅提高範本的存取效能。
快取會佔用系統記憶體和硬碟資源。
因為叢集分裂等不穩定的情況,快取偶爾也會存在不同步的情況,此時可透過介面手動重新整理快取進行同步
總結一下,開啟快取功能可以大幅提高工程的效能,並且配合檔案伺服器使用時,可提高系統的高可用性,建議使用檔案伺服器時考慮開啟快取。
帆軟叢集支援 TCP 和 UDP 兩種通訊協定,目前預設是 TCP 協定,下面列舉兩種協定的差別:
其中需要注意的是,大部分雲伺服器(阿里雲、亞馬遜雲等)都不支援UDP協定,因此只能選擇TCP協定。
若伺服器對TCP/UDP協定均支援,當節點數較少時選擇TCP/UDP協定差異不大, 當節點數較多時,建議選擇UDP協定,通訊效率更高。
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙