當前為5.1版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

热备部署步骤

1. 概述

1.1 版本

FineBI 版本
JAR 包版本新增功能
5.1.72020-11-05
支持热备部署,热备插件需要向技术支持获取
5.1.10
2021-02-05热备插件内置到 JAR 包中,更新 JAR 时自动安装最新的热备插件;配置 fine_conf_entity 表时,新增参数:hotBackConf.slave

1.2 应用场景

用户工程的 JAR 为纯抽取 JAR(Spiser 引擎)或者直连和抽取混用 JAR 时,若希望节点宕机不影响工程使用,可参考本文配置热备。

1.3 功能简介

  • 当主节点(active节点)宕机后,子节点可以在短时间内顶替主节点成为新的 active 节点保证工程正常使用。

  • active 节点的数据每次更新完成之后,standby 节点会自动根据命令同步 active 节点上的表数据(默认初始化配置的 master 节点为 active 节点,子节点为 standby 节点)。

注1:热备支持的集成模式为纯 Spider 引擎或者 Spider 引擎+直连引擎。

注2:本方案仅解决高可用诉求,不具备 BI 请求的负载均衡属性,对 BI 工程并发情况没有优化。

1.4 实现步骤

热备步骤如下图所示:

1609396574428019.png

2. 准备工作

2.1 安装包清单

配置热备所需的环境安装包清单如下表所示:

文件内容说明是否必须
JDK 1.8安装包节点工程所在服务器 JDK 版本一致,版本为:JDK 1.8 且小版本需在 JDK8u102 以上
FineBI 安装包
确认两个工程版本和 JAR 包的时间一致,且都为 5.1.7 及以上版本
FTP 安装包

安装配置步骤请参见本文 3.2 节内容

Redis 安装包安装配置步骤请参见本文 3.2 节内容
Nginx 安装包安装配置步骤请参见本文 3.2、3.4 节内容
Nginx 健康检查包安装配置步骤请参见本文 3.2、3.4 节内容
热备插件
参考本文 3.6 节内容

2.2 基础环境准备

注:如果热备和 单点 一起使用,单点登录不能拦截热备健康检查的URL:/webroot/decision/plugin/public/com.finebi.plugin.bi.hotback/health

1)参考 热备集群环境准备 准备好基础环境。

2)确认工程已经部署在容器中( 例如:Tomcat 要求版本一致且在 8.5 及以上)。

3)构成集群的两个环境所依赖的 JDK 版本要一致。

4)两工程的服务器时间一致。

5)确认主节点工程已经配置外接数据库,若两个工程都配置了外接数据库,则必须为同一个外接数据库。

6)确认两个工程彼此之间以及各自到外接数据库之间的通讯正常。

3. 集群及组件部署

应用集群必须先将 BI 工程部署到外部容器,这里以 Tomcat 服务器为例。

3.1 单机 Tomcat 工程配置

参考 Tomcat服务器部署 在两个服务器中部署 FineBI 工程。

Tomcat 默认端口为 8080,若系统端口冲突可自行改为其他端口,如示例修改 Tomcat 访问端口为 8818,修改%Tomcat%/conf下的 server.xml 文件,如下图所示:

1604391061526420.png

启动工程之后,配置外接数据库

注:配置作为主节点的工程的外接数据库。

在浏览器中输入访问地址http://IP:端口/webroot/decision,成功打开 BI 工程登录页面,即部署成功。

3.2 集群相关组件安装与配置

1)安装 FTP 并启动。详情参见:Linux 系统安装配置 FTP

2)安装 Redis 并启动。详情参见:Linux 系统安装配置单机 Redis

3)安装 Nginx 。详情参见:Linux系统安装配置Nginx 文档第二章内容。

3.3 开启集群并拷贝部署子节点

启动之前部署好的主节点,配置集群。

以管理员身份进入数据决策系统,点击「管理系统>智能运维>集群配置」,如下图所示:

4.png

3.3.1 配置状态服务器

打开状态服务器按钮,选择 redis 单机,主机 IP 中填入使用的 redis 所在的服务器地址,端口填写为 3.2 节中修改的端口号,输入密码,测试连接成功即可,如下图所示:

6.png

3.3.2 配置文件服务器

选择「文件服务器共享」进行文件服务器的配置,主机为 3.2 节安装 FTP 的主机 IP,用户名和密码为 3.2 节设置的用户名密码,目录为 3.2 节创建好的 /home/ftpuser/WEB-INF,点击「测试连接并保存」,如下图所示:

注:建议选择「文件服务器共享」。

7.png

3.3.3 开启集群

点击「开启集群」按钮,如下图所示:

8.png

3.3.4 拷贝主节点工程到子节点

关闭主节点工程,拷贝主节点 webroot 至子节点工程 %Tomcat%/webapps,建议压缩打包后再传输、解压,节省时间。

重启两个节点工程,即可看到两个节点,则部署完成,如下图所示:

11.png

3.4 修改 Nginx 配置

想使用 Nginx 搭配 Web 容器发挥负载均衡的作用,必须还要对 Nginx 进行配置。

建议直接下载本节所示的 nginx.conf 文件替换现有的 nginx.conf 文件,根据实际情况修改以下部分内容:

示例:nginx.conf

3.4.1 配置主、子节点的 IP

如下图所示:

1629344368810217.png

3.4.2  健康检查路径修改

工程访问路径默认为:http://ip:端口/工程名/decision,下图中的黄色标记,用户需根据实际情况修改。

例如:工程名为空,则去掉代码中的「/webroot」;工程名为 FR ,则将黄色标记中的 webroot 改为 FR 。

10.png

    3.4.3 配置 Nginx 转发

    修改端口和 IP 如下图所示:

    21.png

    22.png

    3.4.3 重启 Nginx

    配置完成后重启 Nginx,执行以下命令

    cd /usr/nginx/sbin  #进入sbin目录  
    ./nginx -s reload #启动nginx

    3.5 对接单节点

    在「管理系统>智能运维>集群配置>节点管理」下记住主节点服务器的 hostname 和节点 ID,如下图所示:

    12.png

    3.5.1 JAR 包在 2021-02-05 之前

    集群 master 节点配置:外置数据库中找到 BI 的外置数据库配置表 fine_conf_entity 表,添加以下参数,具体说明如下表所示:

    idvalue
    说明
    SystemOptimizationConfig.biClusterMasterNodeHostName主节点服务器的 hostnameid 用来规定 Web 集群中的主节点,value 对应主节点服务器的 hostname
    hotBackConf.master主节点的 hostname   热备 master 节点配置
    SystemOptimizationConfig.ClientMasterId主节点 ID

    修改定时任务指定节点

    如下图所示:

    1617948493282443.png

    3.5.2 JAR 包在 2021-02-05 及之后

    集群 master 节点配置:使用 fine_conf_entity可视化配置插件 在 fine_conf_entity 表添加以下参数,具体说明如下表所示:

    idvalue
    说明
    SystemOptimizationConfig.biClusterMasterNodeHostName主节点服务器的 hostname

    id 用来规定 Web 集群中的主节点,value 对应主节点服务器的 hostname 

    hotBackConf.master主节点的 hostname   

    热备 master 节点配置

    SystemOptimizationConfig.ClientMasterId主节点 ID

    修改定时任务指定节点

    如下图所示:

    1638174087299702.png

    3.6 安装热备插件

    部署完成之后安装热备插件,重启集群,先重启主节点,再重启子节点,二者间隔至少 30s。

    注:在某一个节点安装插件即可。

    3.6.1 JAR 包在 2021-02-05 之前

    如需获取热备插件,请联系技术支持。技术支持联系方式:QQ「800049425」、电话「400-811-8890」。

    3.6.2 JAR 包在2021-02-05 及之后

    热备插件会随主 JAR 的升级自动解压安装覆盖,正常情况下无需手动安装插件:

    • 若升级前未安装热备插件,JAR 包更新到 2021-02-05 及之后版本,启动工程后,将自动安装最新的热备插件。

    • 支持换 JAR 自动替换最新的插件,重启工程后会自动解压安装,可覆盖原插件。

    4. 效果检查

    节点有四个概念:master(定义的主节点)、slave(定义的备节点)、active(当前实际的主节点)、standby(当前实际的备节点)。

    一般来说,用户环境两个节点机器性能是差不多的,所以一般都是主节点默认成为 active(当前实际的主节点)。但有些情况下,若次节点性能较好,启动得比主节点早,会先抢到锁成为 active ,主节点由于启动得晚会成为 standby 。

    4.1 日志检查

    在「管理系统>智能运维>平台日志」中点击全局设置,将日志级别调整为 INFO ,点击「保存」,如下图所示:

    1609396824867930.png

    工程启动,查看 active 节点的启动日志,能看到[HotBack][Startup] register current node as active node : xxx,其中 xxx 为 active 节点的 hostname 。如下图所示:

    1627374614188000.png

    4.2 热备功能检查

    kill 掉主节点,等待 90s ,检查备节点日志是否打印: register current node as active node : xxx,其中 xxx 是备节点的 hostname(此时备节点已经成为新的 active 节点,主节点重启后会转为 standby 节点),如下图所示:

    1627374676797153.png

    5. 注意事项

    5.1 热备数据源简介

    为防止节点数据同步失败,当节点启动或发生节点切换时,新 active 节点会对节点本地数据进行检测,若检测到本地数据滞后,会对对应的数据表拉起热备数据源更新任务。

    5.2 normal not start with 3 or more nodes

    问题描述

    热备节点启动时如果出现normal not start with 3 or more nodes日志,说明存在 hostname 配置的问题。

    需要保证参数配置的 hostname 和节点本地的 hostname 一致才行。

    解决方案

    注:下面方法适用于 centos7 及之后版本。

    1)使用hostname语句查询当前主机名。如下图所示:

    1629785676798966.png

    2)使用vim /ect/hostname语句编译 hostname 文件,编辑后保存。如下图所示:

    1629785841936239.png

    3)使用vi /etc/hosts语句修改 hosts 文件,添加一行IP hostname。编辑后保存。如下图所示:

    1629786632672787.png

    4)使用service network restart重启网络服务reboot重启系统。如下图所示:

    注:有的系统只需重启网络服务即可,若重启网络服务不生效,建议重启系统。

    1629786720830182.png

    5)使用hostname语句查询修改后的主机名。如下图所示:

    1629787310791741.png

    附件列表


    主題: 部署集成
    已經是第一篇
    已經是最後一篇
    • 有幫助
    • 沒幫助
    • 只是瀏覽
    • 评价文档,奖励 1 ~ 100 随机 F 豆!