MHA的安装、配置、使用。
一、MHA工具
1.1 架构图示
- 有两台MySQL的服务器,分别装上主库、从库
- 两个库都装上MHA Node的脚本,预制到服务器里
- 启动一个MHA manager,放于一个单独的服务器(虚拟机或k8s Node上)
Kubernetes(常简称为K8s)是用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。
它旨在提供“跨主机集群的自动部署、扩展以及运行应用程序容器的平台”。它支持一系列容器工具,包括Docker等。
1.2 安装MHA工具
官网:
1.
左边:主库 右边:从库
且,目前从库一直在复制和同步主库。
2.目的
下载MySQL的高可用的工具MHA:
让主库、从库,都装上mha4mysql-node;
让从库,装上mha4mysql-manager;(实际业务,应该是单独放一个虚拟机)
3.主库、从库,都做的准备
先装一些依赖的包:
这是第二章安装MySQL环境时,整个压缩包里的一个文件,当时没有安装,因为当时用不到。现在要用到了:
perl支持库;
epel :CentOS的一些库;
把yum的缓存清一下;
把yum的源,重新拉一遍;
注意:
- 把上面的^C都去掉
- 以上,都是主库、从库,都做
4.
从库,装上mha4mysql-manager;
5.
让主库、从库,都装上mha4mysql-node;
用rpm装,因为rpm是不自动安装依赖的
以上,软件都已经已安装好。
yum 是rpm的增强版
1.3 让所有的虚拟机之间,免密登录:SSH免密
1.
让所有的虚拟机之间,免密登录。即:
- 主-从之间免密
- 主登录自己,免密
- 备登录自己,免密
因为MHA的重要功能:可以登录到主库上,把没有来得及传送出去的binlog,抢救出来。这就需要SSH免密。
免密的脚本,已预制到文档中。密钥生成后,发送给对方。
2.
SSH配置:
1.4 配置MHA
让MHA知道,你监控的是哪台主、哪台从。
配置文件加上的内容:
1.5 自检
检查MHA的主备复制是否正常:
3.检查MHA现在的启动状态
没启动
启动:
加个&
,就能一直在后台跑:
打开之前配置过的log文件:
让148主库停止,容灾切换到了146:
为空,说明已经不复制任何主库了:
二、让MHA和dble联动
2.1 过程图示
MHA Manager在监控两个集群;
如果主库宕机,会去提升另外一个从库作为主库,即切换;
同时,通知dble,你以前连接的主库已经宕机了,你去连接别的库吧
2.2 联动脚本
1.
dble写的脚本:
登录9066管理用户,告诉你之前的主库挂了,快去切换新的实例
2.
将上述dble写的脚本,配置到MHA里:
就会自动调用,自动通知dble。
Comments | NOTHING