多臺服務器集群后,配置權限、數據連接、模板、定時調度等,只能每臺服務器一個個配置,不會自動同步到所有服務器。
針對上述情況,在FineReport中提供新集群部署插件,將xml配置文件、finedb/logdb數據(定時任務、報表目錄管理、批量導入、統計信息)的修改都對主機生效。其他輔機的信息讀取也都從主機讀取,保證了數據同步。
實現了災備,即主機當即后,次主機會上位接替主機的工作,保證系統正常運作。
同時還增加了集群災備之文件同步,會將主機的finedb、xml、模板、jar包、插件等等備份到其他節點的應用上。支持可以手動同步和自動同步。
插件介紹
設計器插件、服務器插件安裝好之后,新集群部署,有主機、次主機、輔機之分,配置文件都從主機讀取,輔機只能用作計算引擎分擔壓力,有點事當改配置文件的時候,不需要每個節點都去修改,直接改主機即可。
分布式集群
分布式集群文件系統:每臺計算機各自提供自己的存儲空間,并各自協調管理所有計算機節點中的文件。
這里測試修改主機的報表管理目錄樹平臺標題,然后可以看到輔機會同步修改的配置。其中報表管理目錄樹存在finedb中,平臺樣式的平臺標題存在fsconfig.xml中。
設置tomcat1、tomcat2、tomcat3集群,tomcat1為主機,tomcat2為輔機,tomcat3為次主機,tomcat集群。
WebReport工程分別放在tomcat下的webapps文件夾里
集群配置完成之后,修改將配置包resource文件夾下的cluster.xml打開,如果沒有這個文件的話,就新建一個,基本內容如下:
PublicURL是集群默認跳轉地址,比如集群時對外地址是自定義端口的, ip:8888/WebReport/ReportServer?op=fs我們并不能獲取到這個8888端口,因此這里需要填寫實際的ip:端口號,如果這段省略不寫,默認跳轉80端口。
ServiceName是為tomcat的名字。
IP是該臺服務器內網中的IP,就是其它服務器能與之通信的IP。
Port是報表應用的端口號,假如是部署在tomcat下,那么就是tomcat的端口號,默認是8080。例如我們的內置服務器是8079.
WebAppName是報表應用的名稱,我們默認的是WebReport。
詳細代碼如下:
<?xml version="1.0" encoding="UTF-8" ?>
<ClusterConfig useCluster="true">
<PublicURL>
ip:端口
</PublicURL>
<ClusterService isMain="true">
<ServiceName>tomcat1</ServiceName>
<ip>192.168.101.82</ip>
<port>6080</port>
<WebAppName>WebReport</WebAppName>
</ClusterService>
<ClusterService>
<ServiceName>tomcat3</ServiceName>
<ip>192.168.101.82</ip>
<port>8080</port>
<WebAppName>WebReport</WebAppName>
</ClusterService>
<ClusterService isVice="true">
<ServiceName>tomcat2</ServiceName>
<ip>192.168.101.82</ip>
<port>7080</port>
<WebAppName>WebReport</WebAppName>
</ClusterService>
</ClusterConfig>
啟動工程,等3分鐘后,關閉主機,刷新fs和訪問模板,此時是失敗的,再等待3分鐘,主次機上位,再次刷新fs和訪問模板,此時是成功的。
集群同步設置
點擊管理系統-集群同步,點擊設置,選擇需要同步的內容:配置文件(resources目錄)、模板(reportlets目錄)、插件和jar(plugins和lib文件夾),點擊確定,然后可以選擇手動同步,或者設置定時同步,點擊保存即可,如下圖:


共享式集群
共享式文件集群系統:多臺計算機識別到同樣的存儲空間,并相互協調共同管理其上的文件,又被稱為共享文件系統;
設置tomcat1和tomcat2集群,tomcat1為主機,tomcat2為輔機,tomcat集群。
Web項目部署在不同的服務器上,一般服務器都在同一局域網,那么共享式文件集群該如何訪問呢?
這里通過共享局域網里某臺電腦上的工程文件夾,多個tomcat都從這個共享的工程文件夾里讀,如下圖:
文件夾共享后,局域網內的服務器均可通過\\IP\文件夾訪問共享的工程目錄

tomcat1和tomcat2下,修改conf里server.xml文件,添加一個Context,指向項目的目錄
集群配置完成之后,修改將配置包resource文件夾下的cluster.xml打開,如果沒有cluster.xml,則新建一個,基本內容如下:

共享式的集群方式,因為本身就是指向同一個文件夾的,不需要我們來做文件的同步,這里插件的作用是負載均衡。如果需要用到決策平臺,需要將finebd遷移到其他數據庫,例如MySQL數據庫中。