喝水不长肉
作者喝水不长肉2017-01-06 15:58
软件开发工程师, 帆软

FineReport关于tomcat集群部署的方案

字数 2440阅读 2542评论 0赞 0

多台服务器集群后,配置权限、数据连接、模板、定时调度等,只能每台服务器一个个配置,不会自动同步到所有服务器。
针对上述情况,在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数据库中。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广