38. 高可用架构
1. MMM架构⚓
官网。只适用于对数据一致性要求不高的场景。
2. MHA架构⚓
Master Hight Available。MHA-node运行在每台服务器上面。MHA-master定时探测集群中的master节点,当master出现故障时,自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。强烈建议和半同步复制一起使用降低数据丢失的风险。
2.1 软件的组成⚓
由两部分组成:
- Manager工具包
- masterha_check_ssh
- masterha_check_repl:检查MySQL的复制状况
- masterha_manager:启动MHA
- masterha_check_status:检测当前MHA运行状态
- masterha_master_monitor:监测master是否宕机
- masterha_master_switch:控制故障转移(自动|手动)
- masterha_conf_host:添加或删除配置的server信息
- Node工具包(无需手动操作)
- save_binary_logs:保存和复制master的二进制文件
- apply_diff_relay_logs:识别差异的中继日志事件并应用到其它slave
- filter_mysqlbinlog:去除不必要的ROLLBACK事件
- purge_relay_logs:清除中继日志(不会阻塞SQL线程)
2.2 安装与部署⚓
角色 | IP | server id | 作用 |
---|---|---|---|
master | 192.168.17.10 | 1 | 写入 |
备选master | 192.168.17.11 | 2 | 读 |
slave1 | 192.168.17.14 | 3 | 读 |
监控master | 192.168.17.14 | 监控集群组 |
2.2.1 安装MHA node⚓
所有的MySQL服务器上都需要安装。下载地址:https://github.com/yoshinorim/mha4mysql-node/releases
1.安装node需要的perl模块(DBD::mysql):
$ wget http://xrl.us/cpanm --no-check-certificate
$ chmod +x cpanm
$ mv cpanm /usr/bin/
$ yum install -y perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker perl-CPAN.noarch
$ yum install -y gcc
$ cpanm install DBD::mysql
2.下载rpm包:
$ wget https://github.com/yoshinorim/mha4mysql-node/releases/download/v0.58/mha4mysql-node-0.58-0.el7.centos.noarch.rpm
2.2.2 安装MHA master⚓
$ wget https://github.com/yoshinorim/mha4mysql-manager/releases/download/v0.58/mha4mysql-manager-0.58-0.el7.centos.noarch.rpm