MHA集群

一.MHA集群

MHA master high avavibility 主服务器高可用

如上图所示,我们之前说过,如果在主从复制架构中主服务器出现故障,就需要我们将从服务器作为主服务器,等故障的主服务器修复好之后,再将修好的主服务器作为从服务器连接到主服务器中。

此时我们进行这个操作的时候,会有一个时间间隔。

MHA的作用就相当于是一个监控一样,MHA搭建好之后,就可以实时的监控主服务器的运行状态。

一旦检测到主服务器发生故障之后,MHA就会在现有的从服务器中提升一个从服务器作为主服务器,并且MHA还能将之前的从服务器自动连接到新的主服务器上,MHA主要适用的是一主多从的环境,

应用场景:一主多从的环境

作用:提升主从复制环境中主服务器的可用性,尽量减少故障时间,

周期性检测主服务器的运行状态,一旦检测到主服务器故障后,会在现有的从服务器中选举一个新主服务器,并把其他的从服务器自动连接到新主服务器上,继续维持主从复制的运行,

问题:将来一主多从的环境中主服务器故障的时候,将哪个从服务器提升为主服务器?

在主从复制中一直存在的是时间延迟的问题,将来在数据量很大的情况下,我们就要看哪个从服务器复制的数据最多,我们就将那个从服务器作为新的主服务器,

如上图所示,我们如何去查看哪个从服务器复制的数据多呢?

show slave status\G

我们就去看这行数据,哪个从服务器的这行数据大,就表示复制的数据多,。

同时MHA会尝试记录主服务器的二进制日志信息,将来在新选举出来的主服务器上自动应用二进制日志信息,确保数据的完整性会将其他slave服务器自动连接到新的master服务器对于前端应用程序全是透明的。【如果检测不到旧的主服务器的二进制日志文件,那就需要人为干预了,人为获取旧主服务器二进制日志文件内容,】

MHA也可以做集群,来避免MHA的单点故障。

MHA角色:

1.mha-manager mha管理者

建议将其部署在独立的服务器上,用于检测主服务器的运行状态

2.mha-node mha客户端

部署所有数据库服务器上,具体作用是mha管理者与所有机器来进行通信。

二.部署MHA集群

环境描述:

192.168.183.10 MHA Manager +MHA node

192.168.183.11 master服务器 mha_node

192.168.183.12 slave服务器 mha_node

192.168.183.13 slave服务器 mha_node

1.关闭防火墙 selinux 时间同步

2.配置免密ssh

如上图所示,在生成密钥以后,将这个公钥文件夹的名字进行修改,改成ssh认证服务要求的名字,随后将整个文件夹拷贝给其他的机器。

在mha 管理者上生成密钥,随后将这个密钥拷贝给其他的机器。

3.添加所有机器上添加所有主机名解析。

如上图所示,在一台mha管理者的机器上添加好主机名解析之后,将这个文件拷贝给其他的机器,。

4.确保所有机器时间同步

如上图所示,检测所有机器时间同步

5.在mha管理机上安装mha相关软件

使用阿里的epel源。

如上图所示,在管理机上安装如上的两个软件。

6.在所有数据库服务器上安装mha4mysql-node软件

7.配置一主两从环境

1)在所有数据库服务器上启用二进制日志

在所有机器上将MySQL数据库安装好,即命令yum install -y mariadb-server

如上图所示,第一是在配置一主两从的环境中所有机器必须要启动二进制日志,

如上图所示,给每一个机器去配置server_id以及开启二进制日志,以及开启和自启动数据库。

第二创建允许所有主机远程连接的复制用户

如上图所示,在主服务器上创建好远程复制用户之后,分别在12和13的机器上去建立连接,去链接11这个主服务器。

3)配置从服务器连接主服务器,确保三台服务器都有远程复制用户。

如上图所示,这是在12的机器上创建连接,随后启动复制线程,随后使用show slave status\G 来查看复制线程状态。

如上图所示,如果在 从服务器上创建的连接操作没有错误的话,那么在主服务器上创建的用户就会在从服务器上也创建出来,。

如上图所示,我们也在这个机器上连接与主服务器的连接,然后启动复制线程,去使用命令show slave status\G来去查看复制线程状态。

8.创建MHA需要的管理用户

如上图所示,这是在主服务器创建4个用户,管理用户需要有4个,允许MHA集群中的任何一个机器去连接他们。

9.创建mha manager工作目录

10.编辑mha的配置文件

如上图所示,这就是MHA的配置文件。

如上图所示,这是MHA的配置文件。

11.检测免密ssh是否正常

12.检测一主两从环境是否正常

如上图所示,可以看到MySQL复制环境是好的,

13.启动MHA集群

14.验证MHA集群

一旦MHA完成一次选举之后MHA进程自己就停止了。

如上图所示,MHA进程停止,

如上图所示,只有当故障的主服务器被修好,作为从服务器连接到主服务器之后,MHA进程才能恢复正常,

15.修复故障的主机,将其作为从服务器连接到主服务器上,

如上图所示,在新主服务器上进行一个完全的数据备份,

随后将这个备份拷贝给11的机器。

相关推荐
是花花呢8 分钟前
华为hcia——Datacom实验指南——配置手工模式以太网链路聚合
运维·网络·华为
m0_7482554120 分钟前
5、使用 pgAdmin4 图形化创建和管理 PostgreSQL 数据库
数据库·postgresql
xxxx12344532 分钟前
Linux驱动开发-字符设备驱动开发
linux·运维·驱动开发
八股文领域大手子1 小时前
Synchronized解析
java·数据库·sql·mysql
夜泉_ly1 小时前
MySQL -操作
数据库·mysql
“抚琴”的人1 小时前
C#—csv文件格式操作
数据库·c#
ZLG_zhiyuan1 小时前
1分钟,实现传感器通过串口服务器接入ZWS云
运维·服务器
钟离墨笺1 小时前
【Linux】【网络】UDP打洞-->不同子网下的客户端和服务器通信(成功版)
linux·服务器·网络
北京华人开创公司1 小时前
京准电钟:NTP校时服务器于安防监控系统应用方案
运维·服务器·时间同步·时钟同步·ntp·卫星校时服务器·ntp校时服务
小技工丨1 小时前
kakfa-3:ISR机制、HW&LEO、生产者、消费者、核心参数&负载均衡
大数据·运维·kafka·负载均衡