配置开启集群

  • 文档创建者:susie
  • 编辑次数:78次
  • 最近更新:Wendy123456 于 2021-04-25
  • 1. 概述

    学习视频请参见:【平台配置集群】

    1.1 版本

    报表服务器版本
    JAR 包版本
    功能变动
    10.0.102020-11-02集群内部通信支持 ipv6&支持状态服务器和文件服务器校验主机IP,不可为空
    10.02020-08-03

    节点与非协调者通信异常会标红提示

    2020-07-08
    文件服务器可选择传输模式
    2019-12-05
    -

    1.2 应用场景

    • 单个工程已不能满足用户需求,用户需要较高的并发支撑性能。

    • 单机不可用时,系统停止将会造成业务中断、数据/模板丢失等问题,用户需要确保系统 7*24h 稳定运行。

    1.3 功能简介

    本文只是介绍开启集群步骤中的其中一个步骤,主要说明「集群配置」界面中各个设置项,例如:状态服务器、文件一致性模式、缓存模式、通信协议,以及对部分集群参数进行配置等。如下图所示:

    1612256512654451.png

    开启集群完整步骤请参见:Linux 系统部署集群Linux系统自动化部署集群Windows 系统部署集群

    2. 配置集群

    状态服务器和文件服务器配置时,IP 尽量使用内网 IP。配置之前请检查各服务器系统时间是否一致,不一致可能会导致集群不可用及同步问题,调整方法请参见:Linux 系统如何配置各个节点的时间一致性?

    2.1 开启状态服务器

    点击状态服务器右侧的「开启」按钮,可在弹窗中选择「缓存系统」并编辑,如下图所示:

    1612256808170683.png

    2.1.1 选择 Redis 单机

    选择「Redis 单机」时,配置信息的值,如下表所示:

      字段值  
    主机Redis所在服务器的IP地址,推荐用内网地址
    端口Redis的端口,默认为6379
    密码Redis服务的密码,若无则不填写

    image.png

    2.1.2 选择 Redis 集群

    选择「Redis集群」后,可以手动添加或者删除主机,主机、端口、密码填写规则同单机,如下图所示:

    注:如果配置Redis密码,则要求Redis各个节点使用统一的密码。

    image.png

    配置完毕后,点击「测试连接并保存」,若无异常则可保存成功。

    2.1.3 选择 Redis 哨兵

    选择「Redis集群」后,输入密码、主节点和哨兵节点,如下图所示:

    image.png

    注1:详情参见:Redis 哨兵模式插件Linux 系统安装配置 Redis 哨兵 。

    注2:集群内部通信支持 IPV6 需要安装 V1.0.10 版本的 Redis 哨兵模式插件。

    2.1.4 选择腾讯云 Redis

    选择腾讯云Redis,输入主机、端口、密码,如下图所示:

    1606362113874561.png

    注:详情请参见:腾讯云 Redis 插件

    2.2 设置文件自动同步

    文件一致性包含 assets、reportlets、resources、schedule、dashboards、treasures、../backup 这些文件夹,当我们使用节点间自动同步时,这些文件夹会为了保持一致性会自动同步。当我们使用文件服务器时,各个节点将从文件服务器中读取这些文件内容。 

    2.2.1 设置节点间自动同步

    若不使用文件服务器,则文件一致设置默认为「节点间自动同步」,如下图所示:

    注:「节点间自动同步」不适用于多节点,否则会因节点间通信问题影响使用,建议仅两个节点时使用,大于两个节点时最好使用文件服务器」。

    文件一致设置.png

    2.2.2 设置文件服务器共享

    选择「文件服务器共享」时,可以配置连接文件服务器,目前支持FTP、SFTP、HDFS、共享外部目录(NAS\NFS等)作为文件服务器。

    注:HDFS 和共享外部目录均为插件的形式,需要安装插件方可配置使用。

    • FTP 协议

    点击「编辑」,进入设置界面,进行相应的文件服务器配置,点击「测试连接并保存」,如下图所示:

    1590649803894549.png

    字段
      协议FTP
      编码Linux 系统默认 UTF-8,windows 系统默认 GBK
      主机服务器地址
      端口服务器端口号,FTP默认 21
      用户名服务器用户名
      密码服务器密码
    传输模式默认选择被动模式
    注:若用户在升级至 2020-07-08 版本之前已经配置了主动模式,则默认选择主动模式。
    主被动传输模式介绍可参见:FTP 主动模式和被动模式区别
      路径

    使用FTP

    注1:在集群开启条件下,可以切换主被动模式,不会影响系统正常运行,点击测试连接并保存就可以保存配置,不需要重启集群。

    注2:按照文档部署的FTP服务,Linux系统填写绝对路径,如用户名为ftpuser,那么路径为/home/ftpuser/WEB-INF,Windows系统填写相对路径 /WEB-INF即可。

    • SFTP 协议

    点击「编辑」,进入设置界面,进行相应的文件服务器配置,点击「测试连接并保存」,如下图所示:

    1590650418657265.png

    字段值  
      协议SFTP
      编码Linux系统默认UTF-8,windows系统默认 GBK
      主机服务器地址
      端口服务器端口号,SFTP默认22
      用户名服务器用户名
      密码服务器密码
      路径

    使用SFTP

    注1:要求使用启动中的 FTP/SFTP 服务器,账号须具备配置路径的读写权限。

    注2:如果是 SFTP 密钥登录,无需要用户名密码,不填即可,但要点击密码后面的图标上传密钥文件。

    • HDFS 协议

    HDFS 作为文件服务器,可以保证模板等资源文件分布式存储,实现高可用。详细查看插件使用文档 HDFS 资源仓库 

    不管使用哪种服务作为文件服务器,配置完毕后,点击「测试连接并保存」,若无异常则可保存成功。

    2.2.3 其他说明

    • 文件服务器模式下,若集群第一个节点启动过程中尝试连接文件服务器失败,则自动切换至节点间同步模式,确保工程可以正常启动,并进行异常通知;

    • 使用文件服务器时,想要手动增删改模板都需要在文件服务器下进行操作, 节点下的assets、reportlets、resources、schedule、dashboards、treasures、../backup是没有作用的;

    • 从文件服务器切换至「节点间同步」时,需要重启集群工程所有节点方可生效,若不重启则不生效。

    2.3 设置缓存模式

    前端可选择「主动缓存」、「被动缓存」、「关闭缓存」,选择后立即生效,如下图所示:

    1573114829558234.png

    缓存开启后可提高系统性能,降低模板和资源文件的读写耗时。

    • 开启「主动缓存」时,需要在「管理系统>系统管理>缓存」下,开启「总是重新读取模板」,如下图所示:

    1597137037170072.png

    • 设置为「关闭缓存」,则「总是重新读取模板」的开关可以不开启。

    在使用文件服务器时,若开启了缓存,当文件服务器宕机后,系统仍可继续对外提供服务,此举可大幅提高系统的可用性。目前默认缓存的资源文件包含模板文件、配置文件、地图数据等,暂定"reportlets/" ,"resources/", "assets/","dashboards"四个文件夹。

    注:节点间同步模式下无法关闭缓存,单机时默认关闭缓存,也不建议开启。

    2.4 设置通信协议

    TCP 和 UDP 是常用的网络传输协议,默认选用 TCP 协议。

    开启集群状态下可以切换集群通信协议,不过重启工程后方可生效。

    65.png

    注1:如果开启集群后只显示本工程的节点,请更换集群连接方式,并重启各节点工程。

    注2:阿里云、AWS 等云服务器不允许 UDP 组播方式,集群连接方式请选择 TCP。

    3. 管理节点

    3.1 开启/关闭集群

    3.1.1 开启集群

    状态服务器和外置数据库是开启集群的前置条件,若未配置外置数据库,则参考文档进行配置:配置外接数据库

    未配置无法开启的弹窗提示:

    提示配置状态服务器\外置数据库.png

    配置完毕正常开启的弹窗提示:

    开启集群弹窗.png

    3.1.2 关闭集群

    当我们成功开启集群并使用时,若想关闭集群,可以直接点击按钮就行关闭,不过关闭状态在重启后方可生效。

    关闭集群提示.png

    3.2 重启工程出现第一个节点

    当我们开启集群按钮,并重启工程后,可以看到节点管理界面出现一个节点,并且当我们选用的是「节点间自动同步」时,第一个加入集群的节点会作为文件同步基准节点,若选用的是「文件服务器共享」,则不会出现文件同步基准节点标签。

    1573118510941590.png

    需要强调的是:

    1)选用的是「节点间自动同步」时,如果想手动变更节点下的资源文件(assets、reportlets、resources、schedule、dashboards、treasures、../backup ),则需要在基准节点下进行变更,增删改动作会自动同步至其他非基准节点。对应非基准节点下的资源文件变动操作,不会生效。

    2)基准节点一旦选出后,默认不会变动。若想重置基准节点,可以关闭集群并重启工程后,再开启集群,基准节点即可重置,重置逻辑还是选择集群开启后第一个加入集群的节点为基准节点。

    3.3 增加节点

    注:一个工程即一个节点信息。

    3.3.1 方法一:复制 webroot 文件夹到其他服务器下

    当第一个节点出现后,就可以将第一个节点的工程包(webroot)拷贝到其他服务器下,然后启动这些服务器,新的节点就会加入节点管理了,如下图所示:

    1573119215759218.png

    3.3.2 方法二:复制 db.properties 文件到其他服务器下

    当第一个节点出现后,可以将第一个节点%FR_HOME%\webapps\webroot\WEB-INF\config下的db.properties文件复制粘贴到其他服务器相同文件路径下,然后启动这些服务器,新的节点就会加入节点管理中。

    3.4 修改节点信息

    使用 Tomcat、Weblogic 容器时,集群开启后可以自动识别容器端口,对于 WAS 集群,暂时不支持自动识别端口,端口默认为58312,需要修改每个节点的端口为实际端口。

    鼠标划到节点信息处,右上角出现编辑按钮,点击可编辑修改节点名称、IP 及端口信息,如下图所示:

    1573142210527981.png

    3.5 节点异常

    节点与非协调者通信异常则会标红,节点标红提示如下图所示:

    1594625566211949.png

    注1:Jgroups 协调者是一般表现为每个集群第一个加入的成员的节点, 额外处理一些普通节点无法处理的事件, 但其不对外暴露。

    注2:此功能在 2020-08-03 的版本中支持。

    3.6 刷新缓存

    使用「文件服务器共享」并且开启缓存时,节点管理界面会出现「刷新缓存」的按钮。若我们开启缓存后,有手动在文件服务器下增删改文件的情况,缓存层是无法感知到的,需要手动刷新缓存。「节点间自动同步」模式下可以自动感知到节点下的文件变动情况,因此无须刷新缓存,因为也不会显示「刷新缓存」的按钮。

    「主动缓存」模式下:点击刷新缓存按钮,则更新缓存;

    「被动缓存」模式下:点击刷新缓存按钮,则清空缓存;

    1573142886816398.png

    刷新缓存成功和失败会有弹窗提醒:

    1573143223951707.png

    3.7 重启集群工程

    1)「文件一致设置」中若选择节点间同步,关闭所有工程后,先启动基准节点,再启动其他节点。

    2)「文件一致设置」中若未选择节点间同步,关闭所有工程后,依次启动工程即可。

    注:关闭和重启部署在不同容器下的 FineReport 工程方法,可参见:关闭FineReport工程

    4. 设置异常提醒

    4.1 开启异常提醒

    开启异常检测提醒功能,点击「全局设置」按钮设置提醒方式,比如勾选「短信提醒」、「平台消息」、「邮件提醒」,设置完成后点击保存即可,默认全不开启。如下图所示:

    1558081281252476.jpg

    4.2 前置条件

    1)短信:需要开启短信平台,详细点击 短信

    2)邮件提醒:需要配置邮件服务器,详细点击 邮箱

    3)平台消息:需要在负载均衡层面配置websocket端口并且开放,相关文档:Websocket端口被占用/无法使用

    5. 注意事项

    1)集群各个节点的 JAR 包是不会自动同步的,手动升级时需要分别替换各个节点的 JAR 包。

    2)通过平台安装的插件可以自动分发到各个节点,在插件目录 plugins 下手动放置的插件包不会自动同步,需要在各个节点都手动操作放置。

    3)集群推荐使用私有云的授权方式,不用关心维护多个节点 license。

    4)各个节点存储自己的日志(方便某节点出错快速找到其原因)。

    5)若设计器远程设计切换到某个节点之后,当服务器断开连接,远程提示离开集群环境的响应弹窗出现速度比较慢,此问题在后续会进行优化。

    6. 常见错误

    6.1 Excel 上传失败

    6.1.1 问题描述

    Excel 上传失败,关键报错信息如下:

    Write failed!
    Failed to write file /var/ftp/finebi/WEB-INF/assets/temp_attach/MapCache1578448427935_685
    Permission denied

    6.1.2 原因分析

    Excel 和图片文件存储所在位置的 FTP 用户名与文件夹用户名不一致。

    6.1.3 解决方案

    将 Excel 和图片文件存储所在位置(WEB-INF\assets\temp_attach)的用户改为文件夹用户,或者将文件夹用户改为 Excel 和图片文件存储所在位置的用户,即两个地方的用户名需要保持一致。文件夹用户在决策平台的「管理系统>智能运维>集群配置>文件一致设置」处修改,如下图所示:

    screenshot-2.png

    6.2 目录不稳定

    6.2.1 问题描述

    集群环境下登录报表工程,刷新会导致某些报表消失,再次刷新又恢复。

    6.2.2 原因分析

    集群需要开放一些 TCP 通信协议端口,如7850。部分插件加载自己的表,需要 hibernate 重新更新二级缓存,导致 DecisionDB 启动两次,需要用到两个端口,7850和7851(最后会一直用7851)。但是如果防火墙未开启7851,会导致集群通信异常,目录显示异常。

    6.2.3 解决方案

    出现类似情况时,工程启动后可以先使用 netstat -ntpl 命令查看启动端口情况(也可以查看日志搜索关键字“__DB_CACHE:DecisionDB:”,看后面的 “physical address=”值最大的那个),注意下 785X ,然后使用 curl (其他命令也行,能 ping 端口就好) ,看看 785X 此端口是否能 ping 通,以检查是否是端口没开全而产生的。未开通的端口需要全部开通。

    附件列表


    主题: 部署集成
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-127-81526