HA(主备)模式集群部署

部署环境
服务器属性: 物理机
操作系统: CentOS Linux release 7.6.1810 (Core)
MySQL版本 :MySQL 5.7.25
JDK :JDK1.7_80
部署组件:
组件名称 :安装数量
计算节点 :2
Keepalived :2
管理平台 :1
配置库 :1
存储节点 :4

部署规划:
实例 IP 服务端口 管理端口 HA角色
主计算节点 192.168.200.190 3323 3325 Master
备计算节点 192.168.200.191 3323 3325 Slave
1.计算节点部署

HA计算节点部署示意图

计算接节点

2.修改主备计算节点配置文件
部署好的主备计算节点需要修改对应的配置文件server.xml,具体修改如下所示:
主计算节点192.168.200.190上server.xml配置修改

<property name="haState">master</property>< HA 角色,主节点:master,
备节点:backup>
<property name="haNodeHost"></property><HA 角色,其他节点 IP:PORT>
<property name="VIP">192.168.200.140</property><虚拟IP地址>

备计算节点192.168.200.191上server.xml配置修改

  <property name="haState">backup</property>< HA 角色,主节点:master,备节点:backup>
<property name="haNodeHost">192.168.200.190:3325</property><HA 角色,
其他节点 IP:PORT><property name="VIP">192.168.200.140</property><虚拟IP地址>
说明:
  • 配置文件中的haNodeHost为主计算节点的IP+管理端口,只需在备计算节点上配置该参数即可。

  • 启动主备服务时,如果haState的角色为master则会开启服务端口(3323)、管理端口(3325);如果是 Backup角色,则只会开启管理端口(3325)。

  • 当 master服务故障后,keepalived 检测到服务不可用,会自动切换 vip 到
    backup 所在的服务器,并启用 backup 的服务端口(3323),保证服务不中断。
    2.安装Keepalived
    可用yum方式安装keepalived,也可在keepalived官网https://www.keepalived.org/download.html下载安装tar包。

    yum方式安装keepalived(主备计算节点所在服务器上执行keepalived安装
    命令)
    #yum -y install keepalived
    启动或关闭keepalived
    #service keepalived start / server keepalived stop
    查看keepalived运行状态
    #service keepalived status
    

2.修改keepalived配置文件
Keepalived配置文件默认存放在/etc目录下为“keepalived.conf”,将下列实例内容复制替换到对应的keepalived配置文件中,并按照标红位置进行实际修(标准的HotDB Server 安装包中对应的conf 目录下也有keepalived主备模式的配置文件,也可将其直接复制到/etc目录下,进行自定义修改)。
主计算节点:192.168.200.190的keepalived配置信息:

 ! Configuration File for keepalived
global_defs {router_id HotDB Server-ha
}
vrrp_script check_HotDB Server_process {script "/bin/bash /usr/local/hotdb/hotdb-server/bin/check_hotdb_p
rocess.sh process"
interval 5
fall 2
rise 1
weight -10
}
vrrp_script check_HotDB Server_connect_state {
state
code
script "/bin/bash /usr/local/hotdb/hotdb-server/bin/check_hotdb_p
rocess.sh connect_master"
interval 5
fall 3
rise 1
timeout 5
weight -10
}
vrrp_instance VI_1 {
state BACKUP
interface eth1
virtual_router_id 89
nopreempt
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
check_HotDB Server_process
check_HotDB Server_connect_state
}
#be careful in red hattrack_interface {
eth1
}
virtual_ipaddress {
192.168.200.140/24 dev eth1 label eth1:1}notify_master "/bin/bash /usr/local/hotdb/hotdb-server/bin/check_hotdb_process.sh master_notify_master"
notify_backup "/bin/bash /usr/local/hotdb/hotdb-server/bin/check_hotdb_process.sh master_notify_backup"
notify_fault "/bin/bash /usr/local/hotdb/hotdb-server/bin/check_hotdb_process.sh master_notify_backup"
}

备计算节点:192.168.200.191的keepalived配置信息:

! Configuration File for keepalivedglobal_defs {
router_id HotDB Server-ha
}
vrrp_script check_HotDB Server_process {
script "/bin/bash /usr/local/hotdb/hotdb-server/bin/check_hotdb_p
rocess.sh process"interval 5
fall 2
rise 1
weight -10
}
vrrp_script check_HotDB Server_connect_state {
state
code
script "/bin/bash /usr/local/hotdb/hotdb-server/bin/check_hotdb_p
rocess.sh connect_backup"
interval 5
fall 3
rise 1
timeout 5weight -10
}vrrp_instance VI_1 {state BACKUP
interface eth0
virtual_router_id 89
priority 95
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
check_HotDB Server_process
check_HotDB Server_connect_state
}
#be careful in red hat
track_interface {
eth0
}
virtual_ipaddress {
192.168.200.140/24 dev eth0 label eth0:1
}
notify_master "/bin/bash /usr/local/hotdb/hotdb-server/bin/chec
k_hotdb_process.sh backup_notify_master"
notify_backup "/bin/bash /usr/local/hotdb/hotdb-server/bin/chec
k_hotdb_process.sh backup_notify_backup"notify_fault "/bin/bash /usr/local/hotdb/hotdb-          server/bin/check_hotdb_process.sh backup_notify_backup"
}

注:主备 keepalived 的相关配置也可参考计算节点安装目录 conf 目录下的keepalived.conf.master, keepalived.conf.backup 脚本,红色区域需要根据实际信息修改其他使用默认即可。

关于自定义修改内容说明:

  • script 脚本路径为计算节点实际安装路径,调用的 master/backup 脚本根据实际的主备角色进行配置

  • interface:绑定的网卡

  • nopreempt:设置是否开启抢占模式。添加此参数,将不开启抢占模式;否则开启抢占模式。例如主的参数值是priority
    100,备的参数值是 priority 95, 该参数只需要在主 keepalived 配置脚本设置

  • priority:优先级,优先级高的为 master virtual_ipaddress:instance 绑定的 vip(vip
    需与计算节点所在的ip 同网段)

  • Label:给本地网卡起一个虚拟名称,用于绑定虚拟网卡 IP ,例如把虚拟网卡 eth0:1绑定到本地网卡 eth0 上

  • Script:判断服务是否正常的脚本路径,通常存放在 HotDB Server 的 bin目录下,例如:/usr/local/hotdb/hotdb-server/bin/check_hotdb_process.sh,该脚本可检查 HotDB Serve 主备服务的进程是否存在,主备 HotDB Serve 的 3323端口和 3325 端口的状态是否正常
    3.启动说明
    由于两台机器上的 HotDB Server 互为主备关系,在服务启动的时,需要注
    意启动的顺序问题,如下为标准启动顺序:
    先启动主(192.168.200.190)的keepalived,待ping通vip后再启动主计算节点服务

     启动主keepalived服务
    #service keepalived start
    Ping通vip后再启动主计算节点服务
    #sh /usr/local/hotdb/hotdb-server/bin/hotdb_server start
    

    ip a可查看当前主的keepalived VIP是已绑定成功

    主计算节点服务启动完等待20秒后再启动备(192.168.200.191)的keepalived,keepalived启动完成后等待10秒再启动备计算节点服务

    启动备keepalived服务
    #service keepalived start
    启动备计算节点服务
    #sh /usr/local/hotdb/hotdb-server/bin/hotdb_server start
    

高可用切换说明
当主机192.168.200.190服务上的计算节点服务故障时,检测脚本(vrrp_scripts)检测到计算节点主服务端口不可访问或 hacheck 连续失败超过 3 次时,主keepalived优先级会进行自动调整,变成 90(weight -10),备机 192.168.200.191服务上的 keepalived 收到比自己优先级低的 vrrp 包(192.168.200.191 上优先级为 95)后,将切换到 master 状态,抢占 vip(192.168.200.140),同时在进入 master 状态后,执行 notify_master 脚本,访问备服务 3325 端口执行online 命令启动并初始化备计算节点服务端口,若 192.168.200.191 的计算节点启动成功,则主备切换成功后继续提供服务。如下图:

Keepalived 的 VIP 此时已在 192.168.200.191 服务器上
*

NDB SQL服务

1.手动安装前须知

  • NDB SQL服务与计算节点服务是一一对应的,即每台计算节点所在服务器如果需要使用NDB SQL服务支持都需部署该服务程序。

  • 与NDB

  • SQL服务对应的计算节点版本必须是V2.5.2及以上版本,否则不支持NDB SQL服务。

  • 推荐NDB
    SQL服务与计算节点一次性跟随部署,若目前已有计算节点需要追加NDBSQL服务则需要严格注意:–install-ntpd、–ntpdate-server-ip、–ntpdate-server-host传参问题,需要同当前部署的集群同步时间配置一致。

计算节点与NDB SQL一同部署过程说明
当前以主备模式集群为例演示使用脚本安装计算节点与NDB SQL服务,具体步骤说明如下:

  • 登录每台计算节点服务器,进入一键部署资源包目录Install_Package下执行安装命令

    - 登录主计算节点服务器,进入一键部署默认安装目录执行:
    sh hotdbinstall_v2.42.sh --install-hotdb-server=yes --hotdb-
    version=2.5 --           install-ndbsql=yes --install-ntpd=yes --ntpdate-server-host=182.92.12.11登录备计算节点服务器,进入一键部署默认安装目录执行:
    sh hotdbinstall_v2.42.sh --install-hotdb-server=yes --hotdb-
    version=2.5 --install-ndbsql=yes --ntpdate-server-host=
    主计算节点服务器IP地址
    

    3.单独部署NDB SQL过程说明
    若已安装好计算节点,但后期需要追加安装NDB SQL服务则可通过脚本单独部署NDB SQL方式进行操作,或通过管理平台“单机部署”功能实现。本示例以单节点集群为例说明后期追加部署NDB SQL服务的操作。

  • 登录计算节点服务器,进入一键部署资源包目录Install_Package下执行安装命令。

    - 示例:
    sh hotdbinstall_v2.xx.sh --install-ndbsql=yes –ntpdate
    -server-host=182.92.12.11
    注意:
    安装NDB SQL指定服务器时间同步地址时使用的时间同步参数需要与上一次
    安装计算节点时保持一致
    即当时使用的是ntpdate-server-ip还是ntpdate-server-host参数,两次
    必须一致
    时间同步地址参数值需与上一次安装计算节点时使用的时间同步地址一致,如果
    集群内已有NTP服务则参数值应该是NTP服务所在服务器的IP地址。
    

4.NDB SQL配置说明

  • NDB SQL服务安装完成后需要在对应的计算节点安装conf目录下修改serve
    r.xml文件配置。需将配置文件中的ndbSqlMode修改为local。具体如下所示:

    5.NDB SQL启动关闭说明
  • NDB SQL服务不需要单独启动关闭,启动计算节点时会同时启动NDB SQL服务,关闭计算节点时也会同步关闭NDB SQL服务。
    HotDB Listener是计算节点一个可拔插组件,开启后可解决集群强一致模式下的性能线性扩展问题。要使用Listener需满足:计算节点是多节点集群模式并开启XA、在存储节点服务器上成功部署Listener并启用enableListener参数。此处仅说明手动单独部署Listener的操作方法,一键部署方式可参考自动部署对应章节进行统一安装。
    HotDB Listener由JDK1.7.0_80进行编译,对操作系统和Java环境的要求和HotDB Server保持一致。HotDB Listener目前仅支持IPV4。

解压一键部署安装包
将一键部署安装包auto_hotdbinstall_HotDB2.5.5_v1.0_20200422.tar.gz(2.5.5为版本号,不同版本其编号不同,注意同步替换)上传至存储节点服务器/usr/local/hotdb目录下,执行下列命令解压:

  #cd /usr/local/hotdb
#tar -zxvf auto_hotdbinstall_HotDB2.5.5_v1.0_20200422.tar.gz

安装Listener
一键部署安装包内置Listener安装包。执行下列命令,将Listener安装在/usr/local/hotdb目录下:

  #cd /usr/local/hotdb/Install_Package#tar -zxvf hotdb-listener-0.0.1-alpha-20200420-linux.tar.gz -C/usr/local/hotdb/

配置Listener
在启动之前,先根据服务器可用内存空间,调整Listener的堆内存大小。

 #cd /usr/local/hotdb/hotdb-listener/bin
#vi hotdb_listener

将第24行堆内存大小设置为合理范围。
若服务器内存较大,可根据需求使用G1算法及相应配置。
接着配置Listener启动端口(若无特殊需求,此步可省略)

#cd /usr/local/hotdb/hotdb-listener/conf
#vi config.properties

host默认0.0.0.0,无需修改;port默认3330,不建议修改,除非被占用。
启动Listener
执行下列命令即可启动Listener:

 #cd /usr/local/hotdb/hotdb-listener/bin
#sh hotdb_listener start

启动成功窗口会提示“HotDB-Listener start successed.”
除了start外,还有其他参数可以使用,使用方法如下:

  #sh hotdb_listener
Usage: sh hotdb_listener [start|stop|restart]
example:
HotDB-Listener start     :    sh hotdb_listener start
HotDB-Listener stop      :    sh hotdb_listener stop
HotDB-Listener restart   :    sh hotdb_listener restart

启动完毕,可切换到logs目录查看日志输出,可查看到Listener的相关信息。

   #tailf listener.log
2020-05-25 12:09:54.089 [INFO] [INIT] [main] cn.hotpu.hotdb.
ListenerServer(158) - Listener-Manager start listening on host
0.0.0.0 port 3330

热璞数据库HotDB开放下载先知————安装部署(二)相关推荐

  1. 热璞数据库HotDB开放下载先知——安装部署篇三(自动部署)

    自动部署为管理平台在界面中支持自动化安装部署计算节点集群的功能.目前管理平台从V2.5.0及以后拥有"集群部署"."单机部署"两个自动化安装功能."集 ...

  2. HotDB开放下载先知————安装部署第一篇

    环境说明: 服务器:生产环境推荐使用物理机,测试环境可使用虚拟机.若需要做性能测试则必须 使用物理机. 操作系统:推荐使用64 位的CentOS 6.x.7.x或RHEL 6.x.7.x,其他操作系统 ...

  3. 热璞数据库HotDB跨JOIN功能介绍

    热璞分布式事务数据库 HotDB Server 支持 跨存储节点的3张表以上的切分字段和非切分字段的多表关联查询,实现效果与单库一致,对应用程序透明.同时支持可视化功能,整理所有表对象间的J OIN ...

  4. 实力验证—— 热璞数据库以卓越的产品性能成为首批通过信通院金融数据库性能测评厂商

    硬实力-- 热璞数据库以卓越的产品性能成为首批通过信通院金融数据库性能测评厂商 昨日,为防止北京疫情扩散,响应政府抗议号召,由中国信息通信研究院(简称"中国信通院")主办的2020 ...

  5. 双重保障 助力企业数字化建设| 热璞数据库与顶象技术完成产品互认

    近期,经上海热璞网络科技有限公司(以下简称"热璞数据库")与北京顶象技术有限公司(以下简称"顶象技术")的专业技术人员历经多日严格测试,最终以双方产品兼容性良好 ...

  6. Linux上安装oracle19c客户端,Oracle 19c的下载和安装部署(图形安装和静默安装)

    Oracle 19C的下载和安装部署(图形安装和静默安装) Oracle Database 19c ,也就是12.2.0.3,最初在livesql.oracle.com上发布,是Oracle Data ...

  7. 完整企业官网源码,前端基于Vue+ElementUI,后台基于基于core3 webapi,含数据库文件,含详情安装部署文档

    完整企业官网源码,前端基于Vue+ElementUI,后台基于基于core3 webapi,含数据库文件,含详情安装部署文档 完整代码下载地址:完整企业官网源码 某工程管理有限公司企业官网 前端 新版 ...

  8. iReport5.6.0 可视图报表的下载和安装(二)

    iReport5.6.0 可视图报表的下载和安装(二) 二级表单的实现方式 二级表单的实现方式 1.首先创建 2.导入相关的依赖pom.xml <dependency><groupI ...

  9. HotDB Server开放下载先知--组件名词介绍

    2.1.计算节点 计算节点是分布式事务数据库HotDB Server集群体系的核心,主要提供SQL解析.路由分发.结果集合并等分布式事务数据库的核心控制功能,是整个分布式服务的命脉所在.一般在没有特殊 ...

最新文章

  1. 怎么用python找因子_在python中有大量因子
  2. Docker 基础技术之 Linux namespace 源码分析
  3. qt5.13.2输出中文乱码
  4. YzmCMS全新轻爽极简风格模版主题
  5. matlab编辑rayfile光源文件,rayfile网盘功能详解 rayfile网盘安装步骤及安装注意事项...
  6. oracle中长字符串长度吗,Oracle 字符串长度函数
  7. python 回溯法 01背包问题_回溯法解决01背包问题
  8. 实现类似add(1)(2)(3)的效果
  9. kotlin set 私有_Kotlin可见性修改器–公共,受保护,内部,私有
  10. mysql练习----SUM and COUNT/zh图(二)
  11. 创建java普通工程 ( 4 )
  12. Linux部署Web项目小记
  13. html两个自然段怎么写,春天作文二个自然段
  14. python身份证号码共18位_涨姿势:用Python完成15位18位身份证的互转
  15. uni-app 插入视频播放器
  16. 多模态训练如何平衡不同模态
  17. @vaild校验参数
  18. 【UML】UML建模
  19. Unity-Live2d(模型与贴图建立联系,渲染,显示图片)
  20. 美元指数的变化对国际黄金有哪些影响

热门文章

  1. 工作那些事(二)应聘时填写个人信息ABCD
  2. 如何一次取消全部WORD文档里的所有超链接?
  3. 梅奥的人际关系理论(1933)--轉
  4. Intellij+Maven+SpringBoot+Mybatis+Oracle整合教程
  5. 【论文笔记】NTU RGB+D
  6. 一千位铁粉「圆桌小密圈」
  7. EEA——预期功能安全
  8. Flutter悬浮按钮FloatingActionButton使用详解
  9. Mac黑苹果亮度太暗解决方法
  10. C++ API 设计 章节链接