Finereport集群配置

  1. 增加配置文件cluster.xml

    將配置包resource文件夾下的cluster.xml打開,如果沒有cluster.xml,則新建一個,基本內容如下:

    <?xml version="1.0" encoding="UTF-8" ?>

    <ClusterConfig useCluster="true"> ? ? ?//useCluster=”true”表示啟用集群配置

    <ClusterService>

    <ServiceName>A</ServiceName> ?//給這臺服務器取一個區別于其他機器的別名

    <ip>192.168.0.1</ip> ? ? ? ? ? ?//這臺服務器在內網中的IP地址

    <port>8080</port> ? ? ? ? ? ? ?//報表應用的端口

    <WebAppName>WebReport</WebAppName> ?//報表應用的名稱

    </ClusterService>

    <ClusterService>?

    <ServiceName>B</ServiceName>

    <ip>192.168.0.2</ip>

    <port>8080</port>

    <WebAppName>WebReport</WebAppName>

    </ClusterService>

    </ClusterConfig>

  2. 這里的每個ClusterService都是集群中一臺服務器的相關信息。配置好后,系統會根據自身的IP和端口號去匹配找到相應的信息。當然也可能會有一些原因導致系統無法正確的匹配找到。這時您可以設置isSelf屬性來指定自身的屬性。

    注:xml文件的第一行<??>前面不能有空格,并且請注意xml文件的編碼。

    另:xml文件的保存格式是 utf-8 no Bom的格式。一般用寫字板打開配置包下的cluster.xml文件,修改保存就可以。

  3. 示例

    例如這個配置文件部署在A服務器下,那么ServiceName為A的那個ClusterService節點后加一個屬性 isSelf=”true”,表示下這是本機的信息。如下所示:

    <?xml version="1.0" encoding="UTF-8" ?>

    <ClusterConfig useCluster="true" userShare="true">

    <ClusterService ?isSelf="true"> //A服務器的配置信息,后面增加了屬性isSelf=”true”表示本機

    <ServiceName>A</ServiceName>

    <ip>192.168.0.1</ip>

    <port>8080</port>

    <WebAppName>WebReport</WebAppName>

    </ClusterService>

    <ClusterService> //B服務器的配置信息

    <ServiceName>B</ServiceName>

    <ip>192.168.0.2</ip>

    <port>8080</port>

    <WebAppName>WebReport</WebAppName>

    </ClusterService>

    </ClusterConfig> ? ? ? ?

    ServiceName是為一臺服務器取的別名,只是為了區別標記一下。最好簡單方便,如A、B、C或者A1、A2等。注意!不能是中文。

  4. IP是該臺服務器內網中的IP,就是其它服務器能與之通信的IP。

    Port是報表應用的端口號,假如是部署在tomcat下,那么就是tomcat的端口號,默認是8080.例如我們的內置服務器是8079.

    WebAppName是報表應用的名稱,我們默認的是WebReport。

    那么,B服務器下的cluster.xml的配置信息如下:

    <?xml version="1.0" encoding="UTF-8" ?>

    <ClusterConfig useCluster="true" userShare="true">

    <ClusterService> //A服務器的配置信息

    <ServiceName>A</ServiceName>

    <ip>192.168.0.1</ip>

    <port>8080</port>

    <WebAppName>WebReport</WebAppName>

    </ClusterService>

    <ClusterService ?isSelf="true"> //B服務器的配置信息,后面增加了屬性isSelf=”true”表示本機

    <ServiceName>B</ServiceName>

    <ip>192.168.0.2</ip>

    <port>8080</port>

    <WebAppName>WebReport</WebAppName>

    </ClusterService>

    </ClusterConfig> ? ? ? ?

    那么正確的配置結果,就是在A服務器上,假如有瀏覽器,瀏覽器中輸入

    http://192.168.0.2:8080/WebReport/ReportServer?reportlet=xxx.cpt?,就能訪問到B服務器上的報表應用。這個url中的IP、端口號和web應用名稱就是上面配置信息里的。注:xxx.cpt只是舉個例子

  5. 那綜上說明,假如集群中多了一臺C服務器,給它取個別名就叫C。內網IP是192.168.0.3,裝了tomcat,端口默認是8080。報表應用名稱也是默認是WebReport。那么服務器下的配置文件,應該如下所示:

    <?xml version="1.0" encoding="UTF-8" ?>

    <ClusterConfig useCluster="true" userShare="true">

    <ClusterService>

    <ServiceName>A</ServiceName>

    <ip>192.168.0.1</ip>

    <port>8080</port>

    <WebAppName>WebReport</WebAppName>

    </ClusterService>

    <ClusterService>

    <ServiceName>B</ServiceName>

    <ip>192.168.0.2</ip>

    <port>8080</port>

    <WebAppName>WebReport</WebAppName>

    </ClusterService>

    <ClusterService>

    <ServiceName>C</ServiceName>

    <ip>192.168.0.3</ip>

    <port>8080</port>

    <WebAppName>WebReport</WebAppName>

    </ClusterService>

    </ClusterConfig>

    最后,請根據上面的格式,寫好cluster.xml文件,且將其拷貝到各服務器的報表應用(WEB-INF\resources)文件夾下。當然,有isSelf屬性指定的特定服務器的配置文件,還需保存到相應的服務器路徑下。

  6. 測試配置是否生效

    當集群中的服務器都已經按照上述步驟配置好,且重新啟動報表應用后,測試各個服務器之間的通訊是否正常。

    例如,在A服務器下,先本機測試下報表能否訪問,測一張簡單的模板就行。能正常訪問(ie瀏覽器可能需要將其localhost或127.0.0.1的本機地址,添加到信任站點中才能顯示頁面),接著在瀏覽器上輸入:http://localhost:8080/WebReport/ReportServer?op=fr_cluster&cmd=test_c_all

    上述url地址,其前面的部分,按情況換上相應報表應用的端口號和應用名稱。而后,假如本機設置正常,就能看到如下的信息:(以上述A、B兩臺服務器的配置文件舉例)

    Cluster is start

    SELF:

    ServiceName:B

    IP:192.168.100.227

    PORT:8080

    WebAppName:WebReport

    ?

    Other Server List:

    NO1: ServiceName:A = 192.168.100.227:7080/WebReport

    ------------------------------------------

    Test it(op = cluster_test) - RE:

    Cluster is start!

    Cluster Share is not start!

    SELF:

    ServiceName:A

    IP:192.168.100.227

    PORT:7080

    WebAppName:WebReport

    ?

    Other Server List:

    NO1: ServiceName:B = 192.168.100.227:8080/WebReport

  7. 這樣說明,配置生效,A服務器能與B服務器間能夠互相通信。再次查看下信息是否有誤。

    假如顯示:Cluster is close!,那說明該機的配置沒有生效。請檢查配置文件后,重新啟動應用,且再次依照上面步驟測試,直至出現上面的結果為止。

    假如前面一部分顯示是這樣:

    Cluster is start!?

    Can not find Own Service Info.

    LocalIP:192.168.0.39

    LocalPort:8070。

  8. 說明集群配置了,但系統無法根據自身找到的IP和端口匹配到配置文件中的信息。而系統找到的IP是192.168. 0.39,端口是8070。可能您配置成了192.168.0.38:8080,那系統就找不到相應的節點信息了。當然由于各種原因,可能系統無法拿到正確的IP和端口,這時請您檢查后,設置正確的IP和端口后,在相應的ClusterService的節點上加isSelf屬性(isSelf=”true”)。

    假如,SELF下的信息不正確,或沒有信息,也請檢查配置文件。

    假如,下面列出的其它機器的信息不正確,或有遺漏,也請檢查配置信息后,重啟報表應用重試。

    假如,其它服務器的回應,沒有回應OK,例如回應Connection timed out: connect。請檢查下那臺服務器的配置信息,檢查網絡連接,ping下那臺機器的ip地址,看看是否能ping通。然后查看那臺服務器報表應用的端口和應用名稱,是否設置正確。

    可在瀏覽器中,輸入地址直接在內網中訪問下那臺機上的報表應用,看看設置的ip、端口號等是否設置正確。修改后,重新啟動報表應用,重試。

  9. 結束

    當以上檢查步驟結束。所有服務器都檢查,發現正確后。恭喜,配置就完成了。

    來源:http://jingyan.baidu.com/article/91f5db1b323b8d1c7f05e3b9.html

轉載于:https://www.cnblogs.com/duwanjiang/p/5944640.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/270743.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/270743.shtml
英文地址,請注明出處:http://en.pswp.cn/news/270743.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

deepin桌面為什么那么卡_deepin因NVIDIA顯卡造成開機啟動問題:卡在開機logo界面+進入桌面鼠標一直轉圈...

寫在前面&#xff1a;前兩天為了做人工智能的作業&#xff0c;給自己和室友裝了一個deepin15.7的系統(我和室友電腦均是NVIDIA顯卡)&#xff0c;想著自己裝好之后不會出現什么問題&#xff0c;結果錯誤還是如期而至&#xff0c;無奈&#xff0c;只能自己親自想辦法&#xff0c;…

數據庫:MySQL、SqlServer、Oracle對比

一、MySQL 優點&#xff1a; 軟件體積小、速度快、免費開源&#xff1b; 跨平臺&#xff1b; 因為是開源數據庫&#xff0c;提供的接口支持多種語言連接操作 &#xff1b; MySQL的核心程序是采用完全的多線程編程。并且是輕量級的進程&#xff0c;它可以靈活地為用戶提供服務…

php 數據庫類

<?php /*** 對Yii2數據封裝* author nikeyoufumama.com* date 2017-03-08* 抽象類不能被實例化* eg1: selectuse common\models as b_model;$users_model b_model\FactoryModel::users();$users_model->setPk(1);$users_model->setFields(id,name,age,sex);$result …

軟件:分享9款實用電腦軟件,值得看一看

目錄 01.ArcTime 02.Luminar 4 03.嗨格式數據恢復大師 04. iTools 05.皮皮直連 06.Kodi 07. PhotoZoom 08.AnyDesk 09.射手影音 今天給大家分享9款實用電腦軟件&#xff0c;值得看一看。 01.ArcTime 下載地址&#xff1a;https://arctime.org/ 這是一款特別好用的字幕制作軟件。…

怎么轉化大小寫_亞馬遜search term被限制,Search Terms只能寫一行怎么辦?

search term簡稱ST&#xff0c; 也叫做亞馬遜的關鍵字&#xff0c;由亞馬遜為賣家提供的&#xff0c;除了Title標題&#xff0c;Description描述之外的關鍵字拓展功能&#xff0c;正確的書寫5行描述可以提曝光&#xff0c;流量&#xff0c;和轉化.關鍵字建議包含了客戶的具體需…

Idea實現WebService實例 轉

作者&#xff1a;http://blog.csdn.net/dreamfly88/article/details/52350370 因為工作需要&#xff0c;數據傳輸部分需要使用webservice實現&#xff0c;經過兩天的研究&#xff0c;實現了一個簡單的例子&#xff0c;具體方法如下。 首先需要新建一個項目&#xff0c;如圖&…

電腦操作系統維護10條實用建議

目錄 1、經常進行“磁盤清理”和磁盤碎片整理” 2、移動internet臨時文件和臨時交換文件 3、開啟wondows xp保留的20%帶寬 4、刪除不必要的系統聲音 5、定期清理internet預讀文件 6、關于internet explorer 7、優化硬盤參數 8、讓系統自動釋放系統資源 9、固定自己的DNS和IP 10…

h5 手風琴效果_小程序-實現折疊面板-手風琴效果

背景無論是在小程序還是 h5 網頁,折疊菜單,手風琴是一個非常常見的效果,如今也有很多現成的 UI 組件庫已經實現了這一效果的,但有時候在寫原生小程序時,單單就是一個折疊菜單效果,卻要引入整個 UI 庫,有點得不償失以下就自己手動實現一個的實例效果具體實現如下是wxml示例代碼&…

oracle數據庫連接 ORA-12638:身份證明檢索失敗

連數據庫的時候突然報了一個這個 查找各種辦法&#xff0c;發現自己從10g換成了11g&#xff0c;不過這個沒有什么關系&#xff0c;跟oracle的安全設置有關系&#xff0c; 首先從開始菜單找到Net Manager 打開&#xff0c;選擇本地&#xff0c;概要文件&#xff0c;下拉列表中選…

IntelliJ IDEA 2021.1更新了好多實用功能介紹

目錄 1、WSL 2的支持 2、內置的HTML預覽器 3、搜索范圍的增強 4、增強的Pull Request支持 5、拆分窗口優化 6、JAVA 16的支持 7、更智能的數據檢查 IntelliJ IDEA 2021.1 正式版發布了&#xff0c;這個版本最大的更新內容&#xff0c;就是支持WSL 2和JAVA 16了。而且除了支持WS…

生產三碼 黑蘋果_黑蘋果OC配置工具:OpenCore Configurator v2.15.2.0

一、版本軟件版本&#xff1a;OpenCore Configurator 5.15.0.1更新日期&#xff1a;2020年10月14日系統版本&#xff1a;macOS 10.12 Sierra及以上二、OpenCore簡介OpenCore是非常優秀的開源軟件&#xff0c;旨在通過提供更加通用和模塊化的系統來解決Clover帶來的限制和問題&a…

電腦硬件常見故障維修技巧

電腦已經成為我們學習日常生活娛樂必不可少的設備了&#xff0c;時間久了難免會遇到小故障&#xff0c;今天我們一起來看下遇到常見的電腦硬件方面的小故障&#xff0c;我們應該如何去自己檢測和維修吧。 電腦檢測故障我們還是要從電腦的幾大硬件開始檢查起。 1、CPU 打開機箱查…

面向對象寫選項卡、拖拽

js&#xff1a; 面向對象說白了就是一個黑匣子&#xff0c;所謂黑匣子就是知道具體怎么弄但不了解里面運轉流程。 面向對象的組成&#xff1a;屬性、方法。 屬性其實也就是js里面常用的對象&#xff0c;只不過換了一只叫法。 至于方法則是js里面常用的函數。 唯一兩者的區別&am…

gdb查看空指針 linux_5 個鮮為人知 GNU 調試器(GDB)技巧

了解如何使用 gdb 的一些鮮為人知的功能來檢查和修復代碼。-- Tim Waugh(作者)GNU 調試器 (gdb)是一種寶貴的工具&#xff0c;可用于在開發程序時檢查正在運行的進程并解決問題。你可以在特定位置(按函數名稱、行號等)設置斷點、啟用和禁用這些斷點、顯示和更改變量值&#xff…

盤點三個JavaScript案例——實現限時秒殺、定時跳轉、改變盒子大小

前言 今天來給大家盤點三個JavaScript案例&#xff0c;分別是實現限時秒殺、定時跳轉、改變盒子大小案例&#xff0c;一起來看看吧&#xff01; 一、實現限時秒殺案例 1.在淘寶網中&#xff0c;商家為了促銷經常搞一些活動&#xff0c;例如限時秒殺是常見的一種活動&#xff0c…