时间:2021-07-01 10:21:17 帮助过:19人阅读
MHA软件由两部分组成,Manager工具包和Node工具包,具体的说明如下。
Manager工具包主要包括以下几个工具:
masterha_check_ssh 检查MHA的SSH配置状况
masterha_check_repl 检查MySQL复制状况
masterha_manger 启动MHA
masterha_check_status 检测当前MHA运行状态
masterha_master_monitor 检测master是否宕机
masterha_master_switch 控制故障转移(自动或者手动)
masterha_conf_host 添加或删除配置的server信息
Node工具包(这些工具通常由MHA Manager的脚本触发,无需人为操作)主要包括以下几个工具:
save_binary_logs 保存和复制master的二进制日志
apply_diff_relay_logs 识别差异的中继日志事件并将其差异的事件应用于其他的slave
filter_mysqlbinlog 去除不必要的ROLLBACK事件(MHA已不再使用这个工具)
purge_relay_logs 清除中继日志(不会阻塞SQL线程)
注意:
为了尽可能的减少主库硬件损坏宕机造成的数据丢失,因此在配置MHA的同时建议配置成MySQL 5.5的半同步复制。关于半同步复制原理各位自己进行查阅。(不是必须)
1.部署MHA
接下来部署MHA,具体的搭建环境如下(所有操作系统均为CentOS7.4 64bit):
IP地址 |
主机名 |
角色 |
软件 |
192.168.1.30 |
linzi |
manager |
mha4mysql-manager、mha4mysql-node |
192.168.1.25 |
KVM1 |
master |
mha4mysql-node |
192.168.1.26 |
KVM2 |
Slave1,Candicate master |
mha4mysql-node |
192.168.1.27 |
KVM3 |
Slave2 |
mha4mysql-node |
其中master对外提供写服务,备选Candicate master(实际为slave1)提供读服务,slave2也提供读服务,一旦master宕机,将会把备选master提升为新的master,slave指向新的master
(1)在所有节点安装MHA node所需的perl模块(DBD:mysql),安装脚本如下:
先要安装epel源,
Centos6安装源:rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Centos7安装源: rpm -ivh http://www.rpmfind.net/linux/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
以下设置为CentOS6操作:
[epel] name=Extra Packages for Enterprise Linux 6 - $basearch baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch #将注释的#去掉 #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch#前面加上#
yum clean all yum list
使用yum安装全部依赖
yum -y install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager --skip-broken
(2)上传MHA相关包,在所有的节点安装mha-node:
MYSQL高可用集群架构-MHA架构
标签:relay_log 图片 bit 故障 tps mysql复制 ast 安装源 公司