1. 概述
1.1 应用场景
用户已购买 FineReport 和 FineBI , FineReport 模板的并发单机已无法支持,需配置 web 集群;
用户希望 FineBI 工程的节点宕机不影响工程使用,且主节点更新的数据文件会自行同步至子节点;
用户希望FineBI与FineReport集成使用,而不是独立部署;
本文提供方案可应用于该场景。
1.2 功能简介
从 2020-11-05 的 5.1.7 版本起,FineBI 推出了热备。本文提供「BI热备&FRweb集群」的应用方案,能够实现数据更新和所有 FineBI 相关请求都会转发到当前的 avtive 节点完成,当 avtive 节点出现问题时,会自动将请求转发给 stand by 节点;其余 FineReport 或者管理系统的请求会随机转发到各个集群节点上面,实现 BI 的热备与 FR 的负载均衡相兼容的效果。
1.3 部署方案
「BI热备&FRweb集群」的实现方式有两种:
先部署单独的 BI 热备,再进行 BI 与 FR 的集成。
或者:
先将 BI 和 FR 进行集成,再将集成之后的工程作为一个整体进行热备的搭建。
2. 部署方案
2.1 方案一:先热备后集成
1)参考 热备集群环境 文档,进行环境检查。
2)参考 热备集群部署 文档,搭建热备环境。
热备环境搭建成功效果查看:
kill 掉主节点,检查子节点 fanruan.log 日志是否打印:register current node as active node : xxx ,其中 xxx 是子节点的hostname(此时子节点已经切换为新的active节点,主节点转为standby节点),如下图所示:
3)参考 FineReport 集成到 FineBI 文档,保留 FineBI 的配置,根据用户实际情况选择具体保留内容,将 FineReport 工程集成到 FineBI 中。
2.2 方案二:先集成后热备
1)参考 FineReport 集成到 FineBI 文档,保留 FineBI 的配置,根据用户实际情况选择具体保留内容,将 FineReport 工程集成到 FineBI 中。
2)参考 热备集群环境 文档,进行环境检查。
3)参考 热备集群部署 文档,搭建热备环境。
热备环境搭建成功效果查看:
kill 掉主节点,检查子节点 fanruan.log 日志是否打印:register current node as active node : xxx ,其中 xxx 是子节点的hostname(此时子节点已经切换为新的active节点,主节点转为standby节点),如下图所示:
3. 注意事项
3.1 更新卡住,重启后无法停止更新
3.1.1 问题描述
单表更新卡住,重启后更新进度页面显示仍在更新。
3.1.2 原因分析
集群若只有一个节点重启,不会清状态服务器 Redis 里的更新进度,需要重启整个集群,才会重置更新进度,如果只重启一个节点,之前在进行中的任务会强制失败,未开始的任务会继续更新。
3.1.2 解决方案
将所有的集群节点关闭之后全部重启。
3.2 BI 仪表板空白
3.2.1 问题描述
若同时使用 FineReport 和 FineBI ,且 Tomcat 版本为 8.0.23,FR 目录上挂出的 BI 仪表板打开显示空白。
3.2.2 解决方案
1)升级 Tomcat 版本到 8.5。
2)进入 Nginx 安装目录/usr/nginx/conf,打开 nginx.conf 文件,在以下位置加上proxy_http_version 1.1;,如下图所示: