反馈已提交

网络繁忙

配置开启集群

  • 文档创建者:susie
  • 历史版本:103
  • 最近更新:Carly 于 2023-12-11
  • 1. 概述

    1.1 版本

    报表服务器版本
    功能变更
    11.0-
    11.0.7
    新增「设置MQ内置」
    11.0.22支持 Redis6.0 的权限管理功能 ACL

    1.2 应用场景

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

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

    1.3 功能简介

    本文简单介绍,集群配置环节,各种配置项的要求和说明。

    注:文档并非完整部署方案,仅对配置项进行介绍。完整部署方案请参见:

    本文所有操作,均在工程的「管理系统>智能运维>集群配置」中进行。

    2. 集群配置

    2.1 开启状态服务器

    支持多种状态服务器:Redis单机、Redis集群、Redis哨兵、腾讯云Redis集群4.0

    设置成功后,请重新登录数据决策系统。

    2.1.1 Redis单机

    使用前提:

    1)配置之前请检查各工程节点服务器系统时间是否一致,不一致可能会导致集群不可用及同步问题。

    2)请准备好Redis的内网IP、占用端口、服务密码。

    3)FineReport11.0.22及之后版本,支持Redis6.0的权限管理功能ACL,如需使用,请准备好用户名。

    4)支持华为云 Redis 5.0 主备版。配置方式与「Redis单机」相同,只需将主机、端口、密码修改为华为云的即可。

    操作步骤:

    1)点击状态服务器「开启」按钮。

    2)选择缓存系统为「Redis单机」,输入状态服务器信息。

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

    支持 Redis6.0 的权限管理功能 ACL

    如开启 ACL ,请输入对应 Redis 用户名

    3)点击「测试连接并保存」。

    2.1.2 Redis集群

    使用前提:

    1)配置之前请检查各工程节点服务器系统时间是否一致,不一致可能会导致集群不可用及同步问题。

    2)请准备好Redis各个节点的内网IP、占用端口。

    3)如果配置Redis服务密码,请确保 Redis 各个节点使用统一的密码。

    4)FineReport11.0.22及之后版本,支持Redis6.0的权限管理功能ACL,如需使用,请准备好用户名。

    操作步骤:

    1)点击状态服务器「开启」按钮。

    2)选择缓存系统为「Redis集群」,输入状态服务器信息。

      字段值  
    密码Redis 服务的密码,若无则不填写
    节点管理Redis 各个节点的内网 IP 和占用端口
    ACL支持 Redis6.0 的权限管理功能 ACL

    如开启 ACL ,请输入对应 Redis 用户名

    3)点击「测试连接并保存」。

    2.1.3 Redis哨兵

    使用前提:

    1)配置之前请检查各工程节点服务器系统时间是否一致,不一致可能会导致集群不可用及同步问题。

    2)请准备好Redis各个节点的内网IP、占用端口。

    3)请准备好Redis主节点名称。

    4)如果配置Redis服务密码,请确保 Redis 各个节点使用统一的密码。

    操作步骤:

    1)点击状态服务器「开启」按钮。

    2)选择缓存系统为「Redis哨兵」,输入状态服务器信息。

      字段值  
    密码Redis 服务的密码,若无则不填写
    主节点名Redis 主节点名称
    节点管理Redis 各个节点的内网 IP 和占用端口
    ACL支持 Redis6.0 的权限管理功能 ACL

    如开启 ACL,请输入对应 Redis 用户名

    3)点击「测试连接并保存」。

    2.1.4 腾讯云 Redis

    使用前提:

    1)请确保「插件管理」中已安装「腾讯云Redis插件」。

    2)配置之前请检查各工程节点服务器系统时间是否一致,不一致可能会导致集群不可用及同步问题。

    3)请准备好腾讯云Redis的内网IP、占用端口、服务密码。

    4)FineReport11.0.22及之后版本,支持Redis6.0的权限管理功能ACL,如需使用,请准备好用户名。

    操作步骤:

    1)点击状态服务器「开启」按钮。

    2)选择缓存系统为「腾讯云Redis」,输入状态服务器信息。

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

    支持 Redis6.0 的权限管理功能 ACL

    如开启 ACL ,请输入对应 Redis 用户名

    3)点击「测试连接并保存」。

    2.2 设置MQ内置

    用户可准备 rocketmq 组件,替换 Redis 消息队列一部分功能。

    若不配置rocketmq,默认使用redis,无需进行任何操作。

    若配置了rocketmq,rocketmq和redis同时生效,负责不同功能。

    2.3 设置文件自动同步

    文件一致性包含 assets、reportlets、resources、schedule、dashboards、treasures、../backup 这些文件夹。

    支持多种文件服务器,各个节点将从文件服务器中读取这些文件内容:FTP、SFTP、HDFS、Minio、S3、共享外部目录(NAS\NFS等)等

    注1:「节点间自动同步」不适用于新集群使用节点间自动同步无法开启集群。该功能只适用于历史已配置该项的集群工程,本文不做赘述。

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

             详情请参见:HDFS资源仓库插件MinIO资源仓库插件S3资源仓库插件共享外部目录插件

    2.3.1 FTP 协议

    注:配置文件服务器时,协议若选择 FTP ,增加小图标,悬浮提示:建议使用更安全的协议 SFTP 。

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

    2.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 即可。

    2.3.2 SFTP 协议

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

    1590650418657265.png

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

    使用SFTP

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

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

    注3:配置 SFTP 路径的时候,路径填写绝对路径,为 WEB-INF 文件夹的路径。

    2.3.3 HDFS 协议

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

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

    2.3.4 其他说明

    • 若集群第一个节点启动过程中尝试连接文件服务器失败,则会进入部署向导页面,详情请参见:集群组件出错优化

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

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

    2.4 设置缓存模式

    2.4.1 配置前提

    1)未开启集群时,不显示「缓存模式」功能。

    前端:未开启集群时,不显示「缓存模式」,开启集群并重启后显示「缓存模式」,关闭集群并重启后取消「缓存模式」显示。

    后端:仅当集群成功开启时,「缓存模式」生效。

    2)文件结构未构建完成时不允许切换「缓存模式」和文件一致性设置。

    当切换「缓存模式」时,若检测到文件结构尚未构建完成,则前端不允许操作,鼠标悬停时提示:文件结构构建中,暂无法切换

    2.4.2 缓存模式介绍

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

    注:「主动缓存」、「被动缓存」数据是放在内存中的。

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

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

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

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

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

    2.5 设置通信协议

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

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

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

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

    3. 管理节点

    3.1 开启/关闭集群

    3.1.1 开启集群

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

    11.0.7及之后版本,禁止在节点间同步模式下开启集群。

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

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

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

    开启集群弹窗.png

    3.1.2 关闭集群

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

    关闭集群提示.png

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

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

    1573118510941590.png

    需要强调的是:

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

    2)基准节点一旦选出后,默认不会变动。若想重置基准节点,可参考以下两种方法:

    • 方法一:2020-04-26 及之后 JAR

    鼠标悬浮在前端非基准节点的左上角,可点击「设为基准节点」进行基准节点的切换。如下图所示:

    注1:仅在非节点编辑模式下显示该按钮。切换实时生效,即点击按钮后当前节点显示为「文件同步基准节点」。

    注2:如果切换失败会弹出提示框信息:基准节点切换失败,请稍后重试。

    1625552686996861.png

    • 方法二:

    可以关闭集群并重启工程后,再开启集群,基准节点即可重置,重置逻辑还是选择集群开启后第一个加入集群的节点为基准节点。

    3.3 增加节点

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

    当第一个节点出现后,就可以将第一个节点%FR_HOME%\webapps\webroot\WEB-INF文件夹拷贝到其他服务器相同文件路径下,然后启动这些服务器,新的节点就会加入节点管理了,如下图所示:

    1573119215759218.png

    3.4 修改节点信息

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

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

    1573142210527981.png

    3.5 节点异常

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

    1594625566211949.png

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

    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)在使用过程中,状态服务器、文件服务器等组件出现问题导致工程无法访问时, 不会自动切换成节点内存、节点间同步,将主动进行消息提示;重启过程中,若状态服务器、文件服务器连接失败,将进入部署向导页面,可修改相关配置。

    7)集群内部通信支持 ipv6。

    8)支持状态服务器和文件服务器校验主机IP,不可为空。

    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 通,以检查是否是端口没开全而产生的。未开通的端口需要全部开通。

    附件列表


    主题: 部署集成
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持