首页 > 编程知识 正文

华为什么型号,HHA是什么意思

时间:2023-05-03 05:33:42 阅读:134917 作者:3976

MHA背景介绍: MHA是用Perl语言编写的开源MYSQL故障切换方案全名: Master High Availability,故障切换时间10-30s

有人说,我不要MHA可以吗; 是的,没问题。 如果数据库发生故障,请自行手动登录库,然后更改主服务器;

那个问题是,首先你需要这样花多少时间; 其次,你的几个SLAVE,你还要一个一个比较,看谁执行的BINLOG比较新吧;

这个时候业务上不去了,很多人站在你身边看着你,那个时候紧张了再忘了写,SLAVE挂不上了,这个影响时间不多了;

因此,有人编写了一个程序来执行自动主从故障切换以解决此问题

MHA的结构:由MHA组成: MHA由节点和管理器组成;

node:

所有数据库机器都需要部署。 master是node,slave也是node。相当于监视客户端

manager:

Manager是相当多的服务器,负责节点管理、配置检查、binlog和relay log的获取、切换任务的执行等; 可以单独部署在服务器上。 (推荐)单独部署可以管理多个主从结构。 也可以部署到slave。如果部署到slave,则该slave无法升级到主库

MHA的切换主要包括以下步骤:

1、MHA每3秒检测一次主机; (Hi,你还活着吗? )

ping_interval控制间隔时间;

ping_type控制探测方法,即创建/断开select (执行select1)和CONNECT (连接)连接

2 )如果manager检测到MASTER故障且无法访问,它将执行以下操作:

a、从其他node开始,检查主库是否可以进行SSH;

b从其他node启动连接,并检查主实例是否可以登录;

3 )如果所有节点连接失败,将开始失效切换。 步骤如下。

phase 1配置检查phase .检查数据库的版本

检查GTID是否有效

检查是否从库中存活

检查配置文件中的candidate phase2deadmastershutdownphase。 在此阶段将调用master_ip_failover脚本。 去关闭所有Node的IO Thread

通过调用shutdown_script强制关闭MASTER实例,使APP应用程序无法连接的phase3masterrecoveryphase . phase 3.1 gettinglatestslavesphase 从show slave status比较并获取最新的binlog/position phase 3.2 savingdeadmaster ' sbinlogphase…如果旧的master能够进行SSH,请获取binlog, 从位置到结束位置获取该BINLOG (MAS eter生成该binlog,还没有时间发送到SLAVE ) )并将该部分的日志发送到Manager节点) manager_workdir的位置);

如果故障主机无法进行SSH,则此日志phase 3.3 determiningnewmasterphase .无法比较所有SLAVE并将差异realy log从最新的SLAVE同步到其他SLAVE; 最终确认所有SLAVE数据一致phase 3.3 newmasterdiffloggenerationphase .确认新的master是否为最新的SLAVE,否则从最新的SLAVE获取差分日志;

将通过manager获取的BINLOG日志发送到new master; Phase 3.4Master Log Apply Phase .比较新master的Exec_Master_Log_Pos和Read_Master_Log_Pos,判断恢复的位置;

本地播放3.3 Phase差异日志;

获得新大师的绑定和定位; phase4slavesrecoveryphase .phase 4.1 startingparallelslavediffloggenerationphase .比较所有slave和最新的slave,如果position不匹配,则显示生产差异日志

运行CHANGE MASTER并将其放入新master phase5newmastercleanupphase . resetslaveall中;

MHA脚本文件介绍:

在已安装的Node节点上,显示节点安装软件包和Manager安装软件包锁定中包含的脚本文件。

查看Node脚本: rpm-q LMH a4 MySQL-node-0.56-0.el6.noarch

1apply_diff_relay_logs标识差异中继日志,并将其应用于其他SLAVE2filter_mysqlbinlog以消除不需要的ROLLBACK事件。 缺省情况下3purge_relay_logs清理不启用并放弃relay logs不阻止SQL线程4save_binary_logs保存binlog和relay log日志的日志管理器任务

1在切换1masterha_check_repl之前检查复制的运行情况2检查2masterha_check_ssh连接3masterha_secondary_check主要从其他网络路由通过从erha_conf_host配置文件中添加或删除host6Masterha_manager来监视master的可用性,并在master出现故障时执行故障切换7 master ha _ master _ manager

1当1master_ip_failover自动切换时,VIP的管理脚本、2master_ip_online_change在线切换时,VIP的管理不是必需的3 power _ map管理

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。