zoukankan      html  css  js  c++  java
  • 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 esources)文件夹下。当然,有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

  • 相关阅读:
    RDD执行延迟执行原理
    spark应用运行机制解析1
    spark streaming job生成与运行
    spark的Task的序列化
    spark将计算结果写入到hdfs的两种方法
    spark的runJob函数2
    SVG---------SVG sprite 使用示例
    段落边框——paraBox.scss
    背景条纹——bgStripes.scss
    css3动画——基本准则
  • 原文地址:https://www.cnblogs.com/duwanjiang/p/5944640.html
Copyright © 2011-2022 走看看