mha高可用架构是目前mysql高可用故障转移比较成熟的解决方案。MHA插件复杂监控mysql主节点的健康情况。在主节点宕机后,MHA把binlog通过ssh传到从节点进行重做补齐。并提升其中一个从节点为主节点。如:A>B ,A>C  。A宕机后。B,C补齐日志。并将故障转移后的架构变为B>C。

转移的流程如下:

1、从出现故障的主节点A拉取binlog日志到B、C节点。

2、识别有最近Relay_Master_Log_File,Exec_Master_Log_Pos 更新的slave节点。假设是B

3、应用差异的中继日志(relay log)到其他slave节点。如C

4、提升slave (B)为新的主节点。

5、其他的节点(C)连接到新的主节点。

MHA 切换完了之后并没有其他的操作了。如服务发现,重新注册。但是MHA提供了脚本接口。可以手动指定切换完了MHA执行指定的脚本。如注册虚拟ip到新的主节点。或者调用接口注册新的服务域名。发告警邮件 等。

mha的架构如下

aaarticlea/png;base64,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" alt="" />

MHA插件分为两部分 Manager工具包和Node工具包:

Manager 插件是管理节点,主要用于监控Mysql主从架构的正常状态。

有以下命令集:

masterha_check_status  检查 masterha_manager状态
 masterha_check_ssh   检查ssh是否正常
 masterha_check_repl   检查复制链是否正常
 masterha_master_monitor
 masterha_manager   启动mha管理进程(发现故障时切换)
 masterha_conf_host
 masterha_master_switch
 masterha_stop
 master_ip_failover
 masterha_switch_domain
 master_ip_online_change
 masterha_secondary_check

Node 节点在每个mysql实例上存在,供Manager 健康检测,故障转移时调用。

有如下命令集:

apply_diff_relay_logs
filter_mysqlbinlog
purge_relay_logs
save_binary_logs

注意:Node节点如果是编译安装。会在/usr/local/bin 目录下存在以上命令。如果是直接用编译完的二进制包解压安装。必须把Node的4个命令 拷贝到 /usr/local/bin目录下。否则找不到命令

【MHA的安装】

mha的安装可以到官网下载进行编译安装。

https://code.google.com/p/mysql-master-ha/

为了省事,可以到我已经编译架构好的百度云盘下载:

链接:https://pan.baidu.com/s/11fh_wolEYHg-VhaJDwYglA 密码:3zie

以下介绍安装按照我已经编译好的安装包解压即可:

tar -xcf  mha56.tar.gz -C /usr/local

解压之后有以下文件夹:

auth  bin  conf  MHA  rpm  workdir

rpm目录存在了mha所依赖的所有rpm包。也可以eperl 源yum安装。

yum install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes perl-IO-Socket-SSL perl-DBD-MySQL perl-Time-HiRes perl-File-Which perl-Digest-SHA1 perl-Crypt-SSLeay perl-libwww-perl perl-TermReadKey -y
 
MHA 目录存在了mha整套perl脚本需要
cp -rp   MHA   /usr/local/share/perl5/  
chmod rp 444   /usr/local/share/perl5/MHA
bin 目录存放了Manager 节点和Node节点的所有脚本。Node脚本需要拷贝到/usr/local/bin目录:
cp -rp cp -rp apply_diff_relay_logs  filter_mysqlbinlog  save_binary_logs  purge_relay_logs   /usr/local/bin
 
【配置mha配置文件】
conf 目录存放配置文件的模板
这里只指定两个节点A>B。可以指定3个节点,或更多。
##定义每套cluster端口为[portnum]
## mkdir -p /usr/local/mha56/workdir ; chown mha:mysql /usr/local/mha56/workdir
[server default]
client_bindir=/usr/local/mysql/bin/
manager_workdir=/usr/local/mha56/workdir
remote_workdir=/usr/local/mha56/workdir
manager_log=/usr/local/mha56/workdir/portnum.log
master_binlog_dir=binary_log_dir
#手动切换脚本
master_ip_online_change_script= /usr/local/mha56/bin/master_ip_online_change
report_script=/usr/local/mha56/bin/send_report
#自动切换时vip管理
#master_ip_failover_script=/usr/local/mha56/bin/master_ip_failover
init_conf_load_script=/usr/local/mha56/auth/mha_auth
user=mymha
#password=
repl_user=myrepl
#repl_password=
ssh_port=10000
ssh_user=mha
ssh_options="-i /home/mha/.ssh/id_rsa_mha.key"
ping_interval=3
max_ping_errors=10
check_repl_filter=0 [server1]
hostname=master_server_ip
port=portnum [server2]
candidate_master=1
check_repl_delay=0
hostname=slave_server_ip
port=portnum

mha 需要开通ssh。这里用指定公钥的形式拷贝公钥到每台mha manager 和node机器下。 ssh_options="-i /home/mha/.ssh/id_rsa_mha.key"  (5.3开始支持)。

系统账号:

为了避开使用rool账号,重新开启 mha 普通系统账号。

系统账号mha要和mysql 实例启动账号在同一个组。才可以读取mysql的binlog。

mysql账号(2个):

mha的监控与故障切换mysql账号mymha 的最小权限要求:

GRANT RELOAD, SUPER, LOCK TABLES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'mha'@'192.168.%';
GRANT SELECT ON `mysql`.* TO 'mha'@'192.168.%'

若数据库无开启GTID,需要多赋一个权限:

grant  Create,alter,delete,insert,update,drop   on `mysql`.apply_diff_relay_logs_test  to  'mha'@'192.168.%';

mysql的复制账号 repl_user 。权限只需要

GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'mha'@'192.168.%';

把 mha的mysql管理账号mymha 和 复制账号myrepl的密码存在在单独的文件:

init_conf_load_script=/usr/local/mha56/auth/mha_auth

mha_auth 这个文件必须为系统账号mha可执行文件,否则报错。

manager_workdir  是mha存放心跳信息。以及故障切换时的工作目录。

这里为了方便:直接 chown  -R mha:mysql /usr/local/mha56  把整个目录属主节赋权mha账号。mysql组。

其他配置选项说明参照官网说明。

----------------------

【检测MHA】:

安装完了mha。并配置了第一个第一套mysql的主从 3306 的mha高可用故障转移。假设配置文件为/usr/local/mha56/conf/mha_3998.conf  。可以开始检测。

检测ssh是否正常:

/usr/local/mha56/bin/masterha_check_repl   --conf=/usr/local/mha56/conf/mha_3998.conf

最终信息为 MySQL Replication Health is OK. 表示正常。

检测mysql主从复制集群是否正常:

/usr/local/mha56/bin/masterha_check_repl   --conf=/usr/local/mha56/conf/mha_3998.conf

最终为:MySQL Replication Health is OK. 表示正常

手动进行主从切换。

masterha_master_switch  --master_state=alive --conf=/usr/local/mha56/conf/mha_3998.conf   --orig_master_is_new_slave

最终为:[info] Switching master to 192.168.100.51(192.168.100.51:3998) completed successfully. 表示主从切换成功,从A>B 变为B>A。

最后可以开启mha的管理进程。在主节点出现故障时。mha自动切换。

/usr/local/mha56/bin/masterha_manager  --conf=/usr/local/mha56/conf/mha_3998.conf    --ignore_last_failover   &

检查进程运行状态:

/usr/local/mha56/bin/masterha_check_status   --conf=/usr/local/mha56/conf/mha_3998.conf

注:故障切换完毕masterha_manager 进程会退出。workdir目录下回生成  mha_3998.failover.complete 文件。下一次启动masterha_manager 时需要删除该文件才可正常启动。

------------------------------

【服务发现与注册】:

mha只负责master节点出现故障,把主节点转移到其中一个从节点,成为新的的主节点。其余从节点接入到新的主节点。mha切换完毕后。应用链接到原来的master会出现错误的。这是需要把指向mysql主节点的链接转移走。

1、用vip的方式。在新的主节点注册vip。

2、使用域名,用consul 服务发现。把域名指向的ip指走。

3、使用域名。用power+python脚本检测的方式。把域名指向的ip指走。

说明:用域名灵活,如果有读写分离域名。可以灵活编写python脚本。判断从节点延迟的时候或者从节点 复制断开的时候把域名指向主节点的ip。

Q:1123654342

MySQL高可用架构故障自动转移插件MHA的更多相关文章

  1. mysql高可用架构之MHA,haproxy实现读写分离详解

    MySQL高可用架构之MHA 一.运维人员需要掌握的MySQL技术: 1.基本SQL语句 2.基本的管理[库表数据的管理    权限的管理] 3.容灾       保证数据不丢失. 二.工作中MySQ ...

  2. (转)MySQL高可用架构之MHA

    MySQL高可用架构之MHA  原文:http://www.cnblogs.com/gomysql/p/3675429.html 简介: MHA(Master High Availability)目前 ...

  3. 从mysql高可用架构看高可用架构设计

    高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间. 假设系统一直能够提供服务,我们说系统的可用性是100%.如果 ...

  4. MySQL高可用架构之Mycat-关于Mycat安装和参数设置详解

    MySQL高可用架构之Mycat-关于Mycat安装和参数设置详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Mycat介绍 1>.什么是Mycat Mycat背后是 ...

  5. 032:基于Consul和MGR的MySQL高可用架构

    目录 一.Consul 1.Consul简介 2.准备环境 3.Consul 安装 4.Consul配置文件 5.Consul 服务检查脚本 6.Consul启动 二.MGR搭建 1.MGR配置 2. ...

  6. MySQL 高可用架构在业务层面的应用分析

    MySQL 高可用架构在业务层面的应用分析 http://mp.weixin.qq.com/s?__biz=MzAxNjAzMTQyMA==&mid=208312443&idx=1&a ...

  7. MySQL高可用架构应该考虑什么? 你认为应该如何设计?

    一.MySQL高可用架构应该考虑什么? 对业务的了解,需要考虑业务对数据库一致性要求的敏感程度,切换过程中是否有事务会丢失 对于基础设施的了解,需要了解基础设施的高可用的架构.例如 单网线,单电源等情 ...

  8. MySQL高可用架构之MySQL5.7组复制MGR

    MySQL高可用架构之MySQL5.7组复制MGR########################################################################### ...

  9. MySQL高可用架构之MHA

    简介: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是 ...

随机推荐

  1. 基础架构之GitLab

    Git几乎是软件开发人员的必备工具了,关于代码管理,公司都一般都会搭建自己的仓库,关于GitLab的详细介绍参见官方网站详见 https://about.gitlab.com,这篇文章主要介绍安装及使 ...

  2. SharePoint 2013 - REST API about Security

    1. 获取当前用户信息(current user): var currentUserInfo = "{0}/_api/Web/CurrentUser"; // {0} -> ...

  3. 使用SlidingPaneLayout 实现仿微信的滑动返回

    上周,公司的项目改版要求加上一个右滑返回上一个界面,于是就在网上找了一些开源库打算实现.但是在使用的时候遇见了许多的问题.试了两天用过 https://github.com/ikew0ng/Swipe ...

  4. SSIS ->> 管理和维护SSISDB

    Comming soon!!! 参考文献: Setup and Performance Issues with the Integration Services (SSIS) 2012 Catalog ...

  5. 关于windows server 里Let's Encrypt续订的问题

    引言 Let's Encrypt是什么就不详细说了,它是免费的https证书,优点就是免费,缺点就是每三个月就要自己续上.今天主要介绍的是续上有效期的环节. 1.安装certify 下载地址: htt ...

  6. 【Leetcode】【Medium】Unique Paths II

    Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How m ...

  7. windows线程时间打印

    https://blog.csdn.net/xingcen/article/details/70084029

  8. redis外网连接的一些坑

    前言 在使用阿里云和腾讯云的redis 可以减少很大的维护量.但是在我们的业务场景中遇到了一个情况,阿里和腾讯的redis均不支持外网访问.因此,正好帮人解决一个问题,就拿出来分享一下. 阿呆的故事 ...

  9. yii2.0中url重写实现方法

    在yii框架里有前台和后台页面,举例前台url重写. 控制器与路由 控制器以Controller作为后缀,继承自yii\web\Controller; 动作以action作为前缀,public访问修饰 ...

  10. maven构建报错org.apache.maven.lifecycle.LifecycleExecutionException

    2017年06月04日 15:03:10 阅读数:7991 maven构建报错 org.apache.maven.lifecycle.LifecycleExecutionException: Fail ...