1. 概述
1.1 版本
版本 | 功能变动 |
---|---|
5.1.5 |
|
5.1.11 |
|
5.1.14 | 支持华为云 redis 5.0 主备版 |
5.1.15 | 配置文件服务器时,协议若选择 FTP ,增加小图标,悬浮提示:建议使用更安全的协议 SFTP |
5.1.25 | 新增「设置MQ内置」 |
1.2 应用场景
用户工程为纯直连 JAR 时:
单个工程已不能满足用户需求,用户需要较高的并发支撑性能。
单机不可用时,系统停止将会造成业务中断、数据/模板丢失等问题,用户需要确保系统 7*24h 稳定运行。
1.3 集群特征
如下图所示:
1.4 集群优势
1)高一致性
通过共享的 FTP 同步模板文件、MySQL 数据库共享平台的配置,动态保证每个节点的模板实时一致,并支持所有的单机功能。
2)高可用性
(无主机)节点宕机后系统可正常使用、相关中间件均支持做成保证主备、集群状态。
3)高适应性
可适应各种网络环境、多种系统、Web 服务器和中间件。支持放入容器内 。
4)功能强大
每个节点服务器均匀分配工作,因此性能随节点增加呈线性增长。
5)使用简单
配置简单,可快速配置集群环境,拥有健康检查和动态感知功能,能实时检查每个节点情况和感应新增节点,并在节点宕机时自动切换、警告。新增节点时,无需重新,自动加入集群。
注:本文提供集群方案仅支持纯直连 JAR 。
1.5 环境准备
支持Windows或Linux系统,首先进行集群环境搭建详情参见:集群环境准备
2. 配置集群
选择「管理系统>智能运维>集群配置」,进入集群配置界面,如下图所示:
2.1 开启状态服务器
点击状态服务器右侧的「开启」按钮,可在弹窗中选择「缓存系统」并编辑,如下图所示:
2.1.1 选择Redis单机
注:5.1.14 版本,支持华为云 redis 5.0 主备版。配置方式与「Redis单机」相同,只需将主机、端口、密码修改为华为云的即可。
选择「Redis 单机」时,配置信息的值,如下表所示:
字段 | 值 |
---|---|
主机 | Redis 所在服务器的 IP 地址,推荐用内网地址 |
端口 | Redis 的端口,默认为 6379 |
密码 | Redis 服务的密码,若无则不填写 |
配置完毕后,点击「测试连接并保存」,若无异常则可保存成功。
2.1.2 选择Redis集群
选择「Redis集群」后,可以手动添加或者删除主机,主机、端口、密码填写规则同单机,如下图所示:
注:如果配置 Redis 密码,则要求 Redis 各个节点使用统一的密码。
配置完毕后,点击「测试连接并保存」,若无异常则可保存成功。
2.1.3 选择腾讯云 Redis
根据实际情况输入主机、端口、密码,如下图所示:
注:详情请参见:腾讯云 Redis 插件
2.2 设置MQ内置
容器化部署 安装的工程,如配置了 rocketmq 组件,rocketmq可替换redis消息队列一部分功能。
在集群配置中:
若未配置rocketmq,默认使用redis。
若配置了rocketmq,rocketmq和redis同时生效,负责不同功能。
2.3 设置文件自动同步
文件一致性包含 assets、reportlets、resources、schedule、dashboards、treasures、../backup 这些文件夹。
当我们使用节点间自动同步时,这些文件夹会为了保持一致性会自动同步。
当我们使用文件服务器时,各个节点将从文件服务器中读取这些文件内容。
2.3.1 设置节点间自动同步
若不使用文件服务器,则文件一致设置默认为「节点间自动同步」,如下图所示:
注:「节点间自动同步」不适用于多节点,否则会因节点间通信问题影响使用,仅两个节点时使用,大于两个节点时需使用「文件服务器共享」。
2.3.2 设置文件服务器共享
若启用文件服务器,目前支持 FTP、SFTP、HDFS,后续会支持更多资源共享系统,用于共享模板等文件,Excel等各类附件,保证各节点间,模板实时的一致性。
1)文件服务器的作用是提供普通资源文件访问,目前支持assets、reportlets、resources、schedule、dashboards 这几个文件夹的文件从文件服务器读写。
2)如果没有配置文件服务器,则使用本地环境 WEB-INF 对应的文件。
3)集群或者非集群都可以使用。
注:文件服务器非必须,没有可不填。
FTP 协议
点击「编辑」,进入设置界面,进行相应的文件服务器配置,点击「测试连接并保存」,如下图所示:
字段 | 值 |
---|---|
协议 | FTP |
编码 | Linux 系统默认 UTF-8,Windows 系统默认 GBK |
主机 | 服务器地址 |
端口 | 服务器端口号,FTP 默认 21 |
用户名 | 服务器用户名 |
密码 | 服务器密码 |
传输模式 | 默认选择被动模式 在集群开启条件下,可以切换主被动模式,不会影响系统正常运行,点击测试连接并保存就可以保存配置,不需要重启集群。 注:若用户在升级至 2020-08-03 版本之前已经配置了主动模式,则默认选择主动模式 |
路径 | 注:按照文档部署的FTP服务,Linux系统填写绝对路径,如用户名为ftpuser,那么路径为/home/ftpuser/WEB-INF,Windows系统填写相对路径 /WEB-INF 即可 |
注: 如果FTP需要匿名登录(无用户名密码),用户名和密码留空或者用户名使用“anonymous”,密码填入任意邮箱。
SFTP 协议
点击「编辑」,进入设置界面,进行相应的文件服务器配置,点击「测试连接并保存」,如下图所示:
字段 | 值 |
---|---|
协议 | SFTP |
编码 | Linux系统默认UTF-8,Windows系统默认 GBK |
主机 | 服务器地址 |
端口 | 服务器端口号,SFTP默认22 |
用户名 | 服务器用户名 |
密码 | 服务器密码 |
路径 |
注1:要求使用启动中的 FTP/SFTP 服务器,账号须具备配置路径的读写权限。
注2:如果是 SFTP 密钥登录,无需要用户名密码,不填即可,但要点击密码后面的图标上传密钥文件。
注3:配置 SFTP 路径的时候,路径填写绝对路径,为 WEB-INF 文件夹的路径。
HDFS协议
支持使用HDFS作为文件服务器,保证模板等资源文件分布式存储,实现高可用。详细点击 HDFS资源仓库
不管使用哪种服务作为文件服务器,配置完毕后,点击「测试连接并保存」,若无异常则可保存成功。
2.3.3 其他说明
5.1.11 之前的版本,文件服务器模式下,若集群第一个节点启动过程中尝试连接文件服务器失败,则自动切换至节点间同步模式,确保工程可以正常启动,并进行异常通知;5.1.11 及之后的版本,若集群第一个节点启动过程中尝试连接文件服务器失败,则会进入部署向导页面,详情请参见:集群组件出错优化
使用文件服务器时,想要手动增删改模板都需要在文件服务器下进行操作, 节点下的 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 开启集群
注:自 5.1.25 版本起,禁止在节点间同步模式下开启集群。
状态服务器和外置数据库是开启集群的前置条件,若未配置外置数据库,则参考文档进行配置:配置外接数据库
未配置无法开启的弹窗提示:
配置完毕正常开启的弹窗提示:
3.1.2 关闭集群
当我们成功开启集群并使用时,若想关闭集群,可以直接点击按钮就行关闭,不过关闭状态在重启后方可生效。
3.2 重启工程出现第一个节点
当我们开启集群按钮,并重启工程后,可以看到节点管理界面出现一个节点,并且当我们选用的是「节点间自动同步」时,第一个加入集群的节点会作为文件同步基准节点,若选用的是「文件服务器共享」,则不会出现文件同步基准节点标签。
需要强调的是:
1)选用的是「节点间自动同步」时,如果想手动变更节点下的资源文件(assets、reportlets、resources、schedule、dashboards、treasures、../backup ),则需要在基准节点下进行变更,增删改动作会自动同步至其他非基准节点。对应非基准节点下的资源文件变动操作,不会生效。
2)基准节点一旦选出后,默认不会变动。若想重置基准节点,可参考以下两种方法:
方法一:5.1.5 及之后版本
鼠标悬浮在前端非基准节点的左上角,可点击「设为基准节点」进行基准节点的切换。如下图所示:
注1:仅在非节点编辑模式下显示该按钮。切换实时生效,即点击按钮后当前节点显示为「文件同步基准节点」。
注2:如果切换失败会弹出提示框信息:基准节点切换失败,请稍后重试 。
方法二:
可以关闭集群并重启工程后,再开启集群,基准节点即可重置,重置逻辑还是选择集群开启后第一个加入集群的节点为基准节点 。
3.3 增加节点
注:一个工程即一个节点信息。
3.3.1 方法一:复制 webroot 文件夹到其他服务器下
当第一个节点出现后,就可以将第一个节点的工程包(webroot)拷贝到其他服务器下,然后启动这些服务器,新的节点就会加入节点管理了,如下图所示:
3.3.2 方法二:复制 db.properties 文件到其他服务器下
当第一个节点出现后,可以将第一个节点%BI_HOME%\webapps\webroot\WEB-INF\config下的db.properties文件复制粘贴到其他服务器相同文件路径下,然后启动这些服务器,新的节点就会加入节点管理中。
3.4 修改节点信息
使用 Tomcat、Weblogic 容器时,集群开启后可以自动识别容器端口,对于 WAS 集群,暂时不支持自动识别端口,端口默认为58312,需要修改每个节点的端口为实际端口。
鼠标划到节点信息处,右上角出现编辑按钮,点击可编辑修改节点名称、IP 及端口信息,如下图所示:
至此集群配置就设置成功。
3.5 节点异常
节点与非协调者通信异常则会标红,节点标红提示如下图所示:
注:此功能在 2020-08-03 的版本中支持。
3.6 刷新缓存
使用「文件服务器共享」并且开启缓存时,节点管理界面会出现「刷新缓存」的按钮。若我们开启缓存后,有手动在文件服务器下增删改文件的情况,缓存层是无法感知到的,需要手动刷新缓存。「节点间自动同步」模式下可以自动感知到节点下的文件变动情况,因此无须刷新缓存,因为也不会显示「刷新缓存」的按钮。
「主动缓存」模式下:点击刷新缓存按钮,则更新缓存;
「被动缓存」模式下:点击刷新缓存按钮,则清空缓存;
刷新缓存成功和失败会有弹窗提醒:
3.7 Web 集群重启工程
1)「文件一致设置」中若选择节点间同步,关闭所有工程后,先启动基准节点,再启动其他节点。
2)「文件一致设置」中若未选择节点间同步,关闭所有工程后,依次启动工程即可。
注:关闭和重启部署在不同容器下的 FineBI 工程方法,可参见:关闭FineBI工程
4. 设置异常提醒
4.1 开启异常提醒
开启异常检测提醒功能,点击「全局设置」按钮设置提醒方式,比如勾选「短信提醒」、「平台消息」、「邮件提醒」,设置完成后点击保存即可。默认全不开启,如下图所示:
4.2 前置条件
1)短信:需要开启短信平台,详细点击 短信
2)邮件提醒:需要配置邮件服务器,详细点击 邮箱
3)平台消息:需要在负载均衡层面配置websocket端口并且开放,相关文档:Websocket 连接失败
5. 注意事项
5.1 其他说明
1)集群推荐使用私有云的授权方式,不用关心维护多个节点 License 。
2)各个节点存储自己的日志各个节点存储自己的日志(方便某节点出错快速找到其原因)。
5.2 更换 FTP 路径
问题描述:
集群工程搭建好后,由于磁盘空间不足需要更换 FTP 文件服务器路径。
解决方案:
1)把原路径下的所有文件都拷贝到新的目录下,并给新文件夹赋权限。详情请参见:Linux 系统安装配置 FTP、Windows 系统配置 FTP 服务
2)修改平台上的文件服务器路径并保存。
3)重启集群的每一个节点,重启集群工程注意事项请参见本文的 3.7 节内容。