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

相关文章
|
2月前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
284 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
2月前
|
测试技术 Python
自动化测试项目学习笔记(四):Pytest介绍和使用
本文是关于自动化测试框架Pytest的介绍和使用。Pytest是一个功能丰富的Python测试工具,支持参数化、多种测试类型,并拥有众多第三方插件。文章讲解了Pytest的编写规则、命令行参数、执行测试、参数化处理以及如何使用fixture实现测试用例间的调用。此外,还提供了pytest.ini配置文件示例。
57 2
|
2月前
|
SQL 分布式计算 NoSQL
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行
58 4
|
2月前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
83 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
2月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
85 4
|
2月前
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
45 3
|
2月前
|
分布式计算 大数据 Spark
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(二)
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(二)
48 1
|
2月前
|
存储 大数据 Apache
大数据-146 Apache Kudu 安装运行 Dockerfile 模拟集群 启动测试
大数据-146 Apache Kudu 安装运行 Dockerfile 模拟集群 启动测试
26 0
|
2月前
|
存储 SQL 分布式计算
大数据-135 - ClickHouse 集群 - 数据类型 实际测试
大数据-135 - ClickHouse 集群 - 数据类型 实际测试
44 0
|
2月前
|
存储 SQL 分布式计算
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(一)
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(一)
54 0

热门文章

最新文章