1. 版本编辑
报表服务器版本 | JAR 包 |
---|---|
10.0 | 2019-11-08 |
2. 环境部署编辑
2.1 环境准备:集群环境准备
2.2 Linux环境(推荐):Linux 系统部署集群
2.3 Linux环境(推荐):Linux系统自动化部署集群
2.4 Windows环境:Windows 系统部署集群
3. 集群配置编辑
选择管理系统>智能运维>集群配置,即可进入集群配置,前端可以配置状态服务器、文件一致性模式、缓存模式、通信协议,以及对部分集群参数进行配置。
状态服务器和文件服务器配置时,IP尽量使用内网IP。
配置之前请检查各服务器系统时间是否一致,不一致可能会导致集群不可用及同步问题,调整方法:Linux 系统如何配置各个节点的时间一致性?
3.1 状态服务器
状态服务器,点击开启按钮,即可在弹窗中选择缓存系统并编辑,如图所示:
3.1.1 选择 Redis 单机
选择「Redis 单机」时,配置信息的值,如下表所示:
字段 | 值 |
---|---|
主机 | Redis所在服务器的IP地址,推荐用内网地址 |
端口 | Redis的端口,默认为6379 |
密码 | Redis服务的密码,若无则不填写 |
3.1.2 选择 Redis 集群
选择「Redis集群」后,我们可以手动添加或者删除host,主机、端口、密码填写规则同单机。
如果配置Redis密码,则要求Redis各个节点使用统一的密码。
配置完毕后,点击「测试连接并保存」,若无异常则可保存成功。
3.2 文件一致设置
文件一致性包含 assets、reportlets、resources、schedule、dashboards、treasures、../backup 这些文件夹,当我们使用节点间自动同步时,这些文件夹会为了保持一致性会自动同步。当我们使用文件服务器时,各个节点将从文件服务器中读取这些文件内容。3.2.1 节点间自动同步
若不使用文件服务器,则文件一致设置默认为「节点间自动同步」,如下图所示:
节点间自动同步不适用于多节点,否则会因节点间通信问题影响使用,建议仅两个节点时使用。
选择「文件服务器共享」时,可以配置连接文件服务器,目前支持FTP、SFTP、HDFS、共享外部目录(NAS\NFS等)作为文件服务器。
HDFS和共享外部目录均为插件的形式,需要安装插件方可配置使用。
1) FTP、SFTP 协议
字段 | 值 |
---|---|
协议 | FTP、SFTP,这里以 FTP 为例 |
编码 | Linux系统默认UTF-8,windows系统默认GBK |
主机 | 服务器地址 |
端口 | 服务器端口号,FTP默认 21,SFTP默认22 |
用户名 | 服务器用户名 |
密码 | 服务器密码 |
路径 | 部署文档中有说明 |
配置完成的界面:
注1:要求使用启动中的 FTP/SFTP 服务器,账号须具备配置路径的读写权限。
注2:如果是 SFTP 密钥登录,无需要用户名密码,不填即可,但要点击密码后面的图标上传密钥文件。
注3:按照文档部署的FTP服务,Linux系统填写绝对路径,如用户名为ftpuser,那么路径为/home/ftpuser/WEB-INF,Windows系统填写相对路径 /WEB-INF即可。
2) HDFS 协议
HDFS 作为文件服务器,可以保证模板等资源文件分布式存储,实现高可用。详细查看插件使用文档 HDFS 资源仓库 。
不管使用哪种服务作为文件服务器,配置完毕后,点击「测试连接并保存」,若无异常则可保存成功。
3.3 文件一致方式
文件一致性包含 assets、reportlets、resources、schedule、dashboard、treasures、../backup 这些文件夹,其他文件夹不会保证一致性。
3.3.1 开启文件服务器
文件一致方式显示「文件服务器共享」:采用配置的第三方文件服务器。各节点服务器的模板从同一个第三方文件服务器读取。
注:开启文件服务器的集群环境如因其他原因需要重启工程,如果此时的文件服务不在启动状态,保持文件一致性的方式自动切换至节点间同步。
3.3.2 关闭文件服务器
文件一致方式显示「节点间自动同步」:各节点服务器的模板从本地工程目录读取,在服务器上模板需保存变更时,其余节点实时同步变更。
注:目前文件同步方式灰化,暂时不支持切换,如下图:
3.4 集群通信协议
TCP 和 UDP 是常用的网络传输协议,默认选用 TCP 协议。开启集群状态下可以切换集群通信协议,不过重启工程后方可生效。
注:如果开启集群后只显示本工程的节点,请更换集群连接方式,并重启各节点工程。
注:阿里云、AWS 等云服务器不允许 UDP 组播方式,集群连接方式请选择 TCP。
4. 集群管理编辑
4.1 开启集群
若平台系统未配置外接数据库,则不能成功开启,提示「检测到未配置外接数据库,未能成功开启集群,请完善后重试」。
如下图所示:
配置外接数据库,详情参考:配置外接数据库。
若配置好了外接数据库,点击开启按钮,测试连接配置信息成功后,提示「成功开启集群,请关闭服务器,将工程拷贝至多个服务器后依次启动各服务器」。
如下图所示:
4.2 关闭集群
4.2.1 直接关闭
点击开启集群按钮直接关闭集群
4.2.2 后台修改配置
FineClusterConfig.params.cluster
改成false
4.3 节点管理
关闭服务器,将节点工程拷贝到多个服务器下,依次启动各服务器,可看到集群管理中多出节点管理信息,如下图所示:
注:一个工程即一个节点信息。
使用 Tomcat、Weblogic 容器时,集群开启后可以自动识别容器端口,对于 WAS 集群,暂时不支持自动识别端口,需要在集群配置页面修改每个节点的端口号。
鼠标划到节点信息处,右上角出现编辑按钮,点击可编辑修改节点名称、IP 及端口信息,如下图所示:
4.4 同步文件按钮
集群管理界面下,开启集群并检测到节点后,才出现该按钮,为保证平台、设计器、节点间文件同步,用户直接在资源文件夹中手动新增 / 修改 / 删除模板文件后请进行手动同步,以其他方式发生的文件变动均可自动同步。如下图所示:
至此集群配置就设置成功了。
5. 集群异常提醒编辑
5.1 异常状态
5.1.1 节点宕机
1)事件:某一节点因各种异常,脱离集群环境,此时给用户发送提醒。
2)检测场景:当节点宕机事件发生后立刻提醒。如需事前提醒,请开启 智能检测 功能。
3)推送模板:节点 #NodeID#,非正常脱离集群环境。请重启该节点,加入集群。
4)日志记录:节点宕机异常情况会记录在环境运行的 fanruan.log 里。每个节点的 fanruan.log 里均记录该条异常情况。
5.1.2 节点时间不一致
对集群环境来说,节点间系统时间不一致会导致很多问题,比如同步等方面,最终导致系统不可用。针对节点时间,在不一致时给用户发送提醒。
1)事件:以任意节点 1 为基准。节点 1 获取的其他节点系统时间-节点1本地系统时间-网路传输延时>1 秒,此时系统判定节点时间不一致
2)检测场景:
集群开启时:做时间一致性检测,不一致不能开启集群。消息推送。(开启时若只有一个节点,不做检测)
集群新增节点时:做时间一致性检测。新节点不一致时,无法加入集群环境。消息推送。
集群运行时:每隔 1 小时自动巡检一次。若事件不一致,消息推送。
3)推送模板:系统检测到,节点 #NodeID# 的系统时间与其他节点不一致。请配置时间服务器,实现节点时间的自动同步。超链—时间服务器帮助文档。
4)日志记录:节点时间不一致异常情况会记录在环境运行的 fanruan.log 里。每个节点的 fanruan.log 里均记录该条异常情况。
5.1.3 节点 JAR 一致性检测
1)事件:新加入集群节点所含的全部 JAR 包与集群按加入时间排序第一个节点的 JAR 包做一致性检测,并且识别手动更改 JAR 包的不一致情况。
2)检测场景:新节点工程启动并请求加入集群时,进行节点 JAR 一致性检测。
JAR 一致:正常启动,并加入集群环境。刷新节点管理页面即可。
JAR 不一致:正常启动,并加入集群环境。刷新节点管理页面,在集群节点管理页面,异常节点背景异常显示,节点名异常显示,鼠标放置在该节点上时显示异常信息。同时进行异常消息推送。如下图所示:
3)异常分类:
分类 | 异常内容 |
---|---|
缺少 JAR | 缺少 JAR:xxx、xxx、xxx |
多余 JAR | 多余 JAR:xxx、xxx、xxx |
JAR 包版本不一致 | 异常 JAR:xxx、xxx、xxx |
4)推送模板:节点 #NodeName# ,与节点 #node1name# 的 jar 包不一致,将影响集群工程的稳定性,请前往集群节点管理页面查看详细异常信息,并及时处理。
5)日志记录:节点时间不一致异常情况会记录在环境运行的 fanruan.log 里。每个节点的 fanruan.log 里均记录该条异常情况。
5.2 设置
开启异常检测提醒功能,点击设置提醒方式,比如勾选短信提醒、平台消息、邮件提醒,设置完成后点击保存即可。默认全部开启,如下图所示:
5.3 收到的提醒
1)短信
注:需要开启短信平台,详细点击短信
2)平台消息
3)邮件提醒
注:需要配置邮件服务器,详细点击邮箱
6. 注意事项编辑
1)JAR 包目前不能同步,升级 。
2)在平台上安装的插件可以自动同步,在插件目录 plugins 下手动放置的插件包不会自动同步,需要在各个节点都手动操作放置。
3)集群推荐使用私有云的授权方式,不用关心维护多个节点 license。
4)各个节点存储自己的日志(方便某节点出错快速找到其原因)。