MyCat-集群-keepalived 启动及 haproxy 的高可用测试 | 学习笔记

简介: 快速学习 MyCat-集群-keepalived 启动及 haproxy 的高可用测试

开发者学堂课程【全面讲解开源数据库中间件MyCat使用及原理(三):MyCat-集群-keepalived 启动及 haproxy 的高可用测试 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/757/detail/13292


MyCat-集群-keepalived 启动及 haproxy 的高可用测试

内容介绍

一、启动

二、访问

三、测试

四、测试 haproxy

 

159 和 160 的 keepalived 已经安装配置完毕,接下来进行 keepalived 的启动以及测试。

 

一、启动:

1.启动执行:service keepalived start

2.查看状态执行:service keepalived status  状态为 running 则为执行的。

在 159 和 160 上面同时执行启动语句和运行状态。

image.png

 

二、访问

1.需要访问 haproxy,不能直接访问 mySQL,否则 MyCat 无用。

对于 haproxy 来说,现在有 159 和 160,要想做到 haproxy 的高可用,不能访问直接指令的任何一个 IP,要指定的 ip 是 VIP 即虚拟 IP。

image.png

2.刚刚配置出的虚拟 IP 是 192.200,客户端访问的都是虚拟 IP,只要虚拟 IP 一启动,就会和某一个服务器的网卡进行绑定,会将客户端的请求发送到 159 服务器上面。

3.通过 haproxy 中的负载均衡策略,将请求转发给其中的一个 MyCat,由 MyCat中的读写分离的原则,将请求转发给 MySQL。

 

三、测试

1.输入 mysql -h 192.168.192.200 -p 48066 -u root -p  123456   最终访问 MyCat

-h 192.168.192.200  虚拟 IP

48066 安装 haproxy 所监听的端口是 48066

-u uesr root  -p password 123456

输入指令 use ITCAST 切换逻辑库 执行 select*from user数据被正常查询出来。

image.png

 

四、验证

验证访问虚拟 IP 192.200 的时候,下方连接的到底是 159 还是 160 服务器。

1.输入指令 ping 192.157/192.159/192.160/192.200

四者都能正常运行  通过 ping 指令只能知道当前 IP 和其余 IP 是否正常联通。

2.借助 arp 可以查看指定 IP 地址的 mark 地址。

输入arp -a192.168.192.159 其 mark 地址为 b0

输入arp -a192.168.192.160 其 mark 地址为 03

输入arp -a192.168.192.200 其 mark 地址为 b0

会发现 200 的 mark 地址与 159mark 地址一致  那则说明现在的虚拟 IP 是与 159绑定的  则说明访问虚拟 IP 时,访问的时 159 服务器。

3.将 159 服务挂掉,即将 keepalived 停掉,执行 service keepalived stop 查看状态 service keepalived statue 为停止。 在 159 服务器上执行select* from user

image.png

提示丢失连接。

再次执行后会尝试重新连接。

image.png

4.当 159 挂掉后,备用节点 keepalived 监听不到 159 发送过来的信息,则认为主节点挂掉,主节点一旦挂掉,就会将虚拟 IP 和当前 IP 地址绑定。这时在使用 arp进行检测:

输入 arp -a192.168.192.200 其 mark 地址为 e3。

与 192.160 地址相同。

5.如果这时将159重新启动起来:service keepalived start 查看状态 service keepalived statue 为 running

再次使用 arp 进行检测:

输入arp -a192.168.192.200 其 mark 地址为 b0 又切换为 159 主机。

以上测试则说明,备节点永远是备用节点,只有当主节点挂掉的时候备用节点才生效,主节点再次启动时,主节点又升级为主节点,依然和虚拟 IP 进行绑定。

 

五、测试 Haproxy

1.如果 keepalived 没有挂掉,但是 haproxy 挂掉会怎样?

在 159 服务上 ps-ef|grep haproxy 通过 kill -9 592591

当前虚拟 IP 与 159 服务进行绑定。现在要将 159 上面的 haproxy 干掉

image.png

2.已经将其杀掉,为什么还存在呢?因为有 check 脚本的存在。

image.png

Interval 2 代表每隔两秒就会执行一次,该脚本就是去检测 haproxy 的状态,

image.png

3.如果 haproxy 被干掉,那么他会自动重启,还需继续判定是否重启成功,如果成功会继续执行,如果重启失败,那么就会将 keepalived 关闭。所以杀死 haproxy的时候,都会被重新启动。

如何彻底杀死 haproxy,只需要将配置文件名称改变就可以。

image.png

4.修改配置文件路径名之后就能够成功干掉 haproxy,因为 haproxy 文件想要启动成功需要找到原配置文件,现在找不到,则启动失败。

5.此处做了判断,如果启动不成功,那么会将 keepalived 停止掉。

可以通过 service keepalived status 查看 keepalived 的状态 显示 dead 已经干掉。

Keepalived 一旦挂掉,那么备用节点生效,就会和虚拟 IP 绑定。

通过 arp 查看虚拟 IP 现在和 160 备用节点绑定成功。

以上是 keepalived 的安装配置,那么当前高可用的集群已经匹配完毕,搭建成功

高可用集群表示,不管哪一个节点挂掉,都不会影响当前集群的运行,要重点理解一下以下这幅图的每一部分的作用是什么。

image.png

相关文章
|
3月前
|
人工智能 测试技术 芯片
AMD Ryzen AI Max+ 395四机并联:大语言模型集群推理深度测试
本文介绍了使用四块Framework主板构建AI推理集群的过程,并基于AMD Ryzen AI Max+ 395处理器进行大语言模型推理性能测试,重点评估其并行推理能力及集群表现。
264 0
AMD Ryzen AI Max+ 395四机并联:大语言模型集群推理深度测试
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
279 4
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
161 3
|
分布式计算 大数据 Spark
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(二)
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(二)
144 1
|
存储 大数据 Apache
大数据-146 Apache Kudu 安装运行 Dockerfile 模拟集群 启动测试
大数据-146 Apache Kudu 安装运行 Dockerfile 模拟集群 启动测试
139 0
|
存储 SQL 分布式计算
大数据-135 - ClickHouse 集群 - 数据类型 实际测试
大数据-135 - ClickHouse 集群 - 数据类型 实际测试
153 0
|
存储 SQL 分布式计算
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(一)
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(一)
170 0
|
10月前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
5月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
907 23
|
7月前
|
SQL 安全 测试技术
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
963 24