FineReport關於tomcat叢集部署的方案

來源:互聯網
上載者:User

標籤:server   工程   plugin   svi   plugins   conf   appname   計算   資料庫   

多台伺服器叢集後,配置許可權、資料連線、模板、定時調度等,只能每台伺服器一個個配置,不會自動同步到所有伺服器。

針對上述情況,在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資料庫中。

 

  

FineReport關於tomcat叢集部署的方案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.