MHA

企业——MYSQL高可用之MHA

谁说我不能喝 提交于 2020-01-24 20:25:50
1.原理: --从崩溃的master报错二进制日志事件(binlog events) --识别含有最新更新的slave --应用差异的relay log到 其他的slave --应用从master保存的二进制日志事件 --提升一个slave为新的master --使其他的slave连接到新的master进行复制        MHA软件由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。 该软件由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)。MHA Manager可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上。MHA Node运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程序完全透明。 在MHA自动故障切换过程中

[MariaDB]MHA高可用部署-实验

牧云@^-^@ 提交于 2020-01-23 03:32:27
目录 一、简介 1.1MHA角色 二、MHA的工具 三、MHA部署过程 3.1.1 配置 3.1.2 环境规划 3.1.3 配置一主多从 3.2 MHA配置 3.2.1 master权限授予 3.2.2 ssh互信 3.2.3 安装mha包 3.2.4 MHA管理节点配置 3.2.5 MHA节点检测 3.2.6 MHA启动 3.2.7 MHA模拟故障 3.2.8 修复已损坏的节点加入MHA中 MHA 问题集锦 一、简介 MHA的逻辑是,为了保证其MySQL的高可用,会有一个StandBy状态的master.在mysql故障切换的过程中,MHA 能做到在 0~30 秒内自动完成 数据库 的故障切换操作,并且在进行故障切换的过程中,MHA 能最大程度的保证数据的一致性,以达到相对意义上的高可用。 1.1MHA角色 如下图,整个 MHA 架构分为 MHA Manager 节点 MHA Node 节点 其中 MHA Manager 节点是单点部署,MHA Node 节点是部署在每个需要监控的 MySQL 集群节点上的。MHA Manager 会定时探测集群中的 Master 节点,当 Master 出现故障时,它可以自动将最新数据的 Standby Master 或 Slave 提升为新的 Master,然后将其他的 Slave 重新指向新的 Master。 二、MHA的工具

mysql实现MHA高可用详细步骤

∥☆過路亽.° 提交于 2020-01-23 03:22:30
一、工作原理 MHA工作原理总结为以下几条: (1) 从宕机崩溃的 master 保存二进制日志事件(binlog events); (2) 识别含有最新更新的 slave ; (3) 应用差异的中继日志(relay log) 到其他 slave ; (4) 应用从 master 保存的二进制日志事件(binlog events); (5) 通过Manager控制器提升一个 slave 为新 master ; (6) 使用其他的 slave 连接新的 master 进行复制。 概念 二、实现过程 MHA 对 MYSQL 复制环境有特殊要求,例如各节点都要开启二进制日志及中继日志,各从节点必须显示启用其read-only属性,并关闭relay_log_purge功能等,这里对配置做事先说明。 机器名称 IP配置 服务角色 备注 Manager 10.0.0.44 Manager控制器 用于监控管理 Master 10.0.0.41 数据库主服务器 开启bin-log relay-log 关闭relay_log_purge Slave1 10.0.0.42 数据库从服务器 开启bin-log relay-log 关闭relay_log_purge Slave2 10.0.0.43 数据库从服务器 开启bin-log relay-log 关闭relay_log_purge 1

MHA快速搭建

断了今生、忘了曾经 提交于 2020-01-22 14:20:29
很早之前写过MHA的文章,但是常常在技术群看到有同学问MHA搭建的问题,不是权限问题就是配置问题,我在这里就再次一写下配置过程以及快速的搭建。如果想知道更多的细节与原理,请参考: MySQL高可用架构之MHA 环境: 1主1从,manager放在从库。 主库:192.168.0.10 从库:192.168.0.20 两台机器的mysql安装完成初始化以后进行复制搭建,首先登录主库(192.168.0.10),查看pos点: mysql> show master status; +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000001 | 154 | | | | +------------------+----------+--------------+------------------+---------------

HAProxy+keepalived+MySQL 实现MHA中slave集群负载均衡的高可用

我与影子孤独终老i 提交于 2020-01-16 07:29:48
HAProxy+keepalived+MySQL实现MHA中slave集群的负载均衡的高可用 Ip地址划分: 240 mysql_b2 242 mysql_b1 247 haproxy1 249 haproxy2 243 VIP 248 client 1、安装HAProxy yum install gcc -y make TARGET=linux26 PREFIX=/usr/local/haproxy make install PREFIX=/usr/local/haproxy cp /usr/src/haproxy/haproxy-1.5.3/examples/haproxy.cfg /usr/local/haproxy/ cp /usr/src/haproxy/haproxy-1.5.3/examples/haproxy.init /etc/init.d/haproxy chmod 755 /etc/init.d/haproxy ln -s /usr/local/haproxy/sbin/* /usr/sbin/ mkdir /etc/haproxy mkdir /usr/share/haproxy ln -s /usr/local/haproxy/haproxy.cfg /etc/haproxy/ cd .. 1.2 设置配置文件 1.2.1 拷贝配置文件 [root

MHA高可用架构部署配置实例

江枫思渺然 提交于 2020-01-15 01:13:36
MHA高可用架构部署配置实例 一、前言 1.1What‘s MHA?——原理简介 ​ MHA——Master High Availability,目前在MySQL高可用方面是一个相对成熟的解决方案,是一套优秀的MySQL故障切换和主从提升的高可用软件。 ​ 这里我们提到了两个个关键点:“高可用”,“故障切换“。我们逐一简单介绍一下这两者的含义。 1.1.1何为高可用? ​ 高可用就是可用性强,在一定条件下(某个服务器出错或宕机)可以保证服务器可以正常运行,在一定程度上不会影响业务的运行。 1.1.2故障切换 ​ 当主服务器出现错误时,被manager服务器监控到主库mysqld服务停止后,首先对主库进行SSH登录检查(save_binary_logs -command=test),然后对mysqld服务进行健康检查(PING(SELECT)每个3秒检查一次,持续3次),最后作出Master is down!的判断,master failover开始进行对应的处理,具体的过程可以参考网上的博客,这里给出一个链接: https://www.cnblogs.com/xiaoboluo768/p/5210820.html 大家可以参考这位朋友的文章,讲的非常详细。 二、MHA高可用架构部署实例 2.1部署环境与基础配置要求 在虚拟机环境下,需要四台Centos7服务器

MHA常见报错以及解决方法

纵饮孤独 提交于 2020-01-14 08:49:37
error 1 运行masterha_check_repl --conf=/etc/masterha/app1.cnf报错 Testing mysql connection and privileges..sh: mysql: command not found mysql command failed with rc 127:0! at /usr/bin/apply_diff_relay_logs line 375 解决方案:ln -s /usr/local/mysql/bin/mysql /usr/bin error 2 运行masterha_check_repl --conf=/etc/masterha/app1.cnf报错 Can't exec "mysqlbinlog": No such file or directory at /usr/local/perl5/MHA/BinlogManager.pm line 99. 解决方案:在node节点上执行 which mysqlbinlog,比如我的结果就是 [localhost~]$ which mysqlbinlog /usr/local/mysql/bin/mysqlbinlog ln -s /usr/local/mysql/bin/mysqlbinlog /usr/bin/mysqlbinlog error 3

MYSQL 之 MHA架构搭建

你。 提交于 2020-01-12 13:34:45
文章目录 一、MHA的简介 1.1、MHA的组成 1.2、MHA特点 二、MHA的案例 2.1、案例需求 2.2、案例实现思路 2.3、案例环境 三、具体搭建过程 3.1、实现MySQL的一主两从 3.2、安装 MHA 3.3、配置无密码访问 3.4、配置MHA 3.5、故障模拟 一、MHA的简介 目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本人youshimaton开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。 在MySQL故障 切换过程中,MHA能做到0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能最大程度上保证数据库的一致性,以达到真正意义上的高可用。 当Master出现故障时,它可以自动将最新数据的Slave提升为新的Master,然后将所有其他的Slave重新指向新的Master。整个故障转移过程对应用程序是完全透明的。 1.1、MHA的组成 MHA Manager (管理节点): Manager可以单独部署在一台独立的机器上管理多个master-slave集群,也可以部署在一台slave节点上。 MHA Node (数据节点): Node运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时

MHA高速可用群集

别等时光非礼了梦想. 提交于 2020-01-11 14:31:07
MHA高速可用群集 文章目录 MHA高速可用群集 前言 1.群集服务器 2.群集 3.MHA 1.MHA优点总结 2.MHA的工作流程 1.企业网站MHA的基础工作架构 2.MHA形成的原因 3.MHA的工作流程 3.搭建MHA高可用群集 1.主从同步基础配置 2.将master、slave1、slave2配置主从同步 3.验证主从同步 4.安装MHAnode节点 5.配置ssh免交互登录 6.配置mha-manager的组件 7.测试ssh与mysql连接 8.配置虚拟ip,启动MHA 9.模拟故障 10.测试实验结果 前言 1.群集服务器 借助服务器群集功能将多台服务器连接在一起,从而为在该群集中运行的数据和程序提供 高可用性 和易管理性。服务器群集提供了以下三种主要的群集技术优点: 更高的可用性。 允许服务器群集中的服务和应用在硬件或软件组件故障下或在计划维护期间仍能不间断地提供服务。 更高的 可扩展性 。 支持通过增加多个处理器(在 Windows Server 2003 Enterprise Edition 中最多可达 8 个,在 Windows Server 2003 Datacenter Edition 中最多可达 32 个)和额外内存(在企业版中,随机存取内存 [RAM] 最多可达 8 GB ,在 Windows Server 2003 Datacenter

[MariaDB]MHA高可用部署-实验

南楼画角 提交于 2020-01-09 16:47:03
目录 一、简介 1.1MHA角色 二、MHA的工具 三、MHA部署过程 3.1.1 配置 3.1.2 环境规划 3.1.3 配置一主多从 3.2 MHA配置 3.2.1 master权限授予 3.2.2 ssh互信 3.2.3 安装mha包 3.2.4 MHA管理节点配置 3.2.5 MHA节点检测 3.2.6 MHA启动 3.2.7 MHA模拟故障 3.2.8 修复已损坏的节点加入MHA中 MHA 问题集锦 一、简介 MHA的逻辑是,为了保证其MySQL的高可用,会有一个StandBy状态的master.在mysql故障切换的过程中,MHA 能做到在 0~30 秒内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA 能最大程度的保证数据的一致性,以达到相对意义上的高可用。 1.1MHA角色 如下图,整个 MHA 架构分为 MHA Manager 节点 MHA Node 节点 其中 MHA Manager 节点是单点部署,MHA Node 节点是部署在每个需要监控的 MySQL 集群节点上的。MHA Manager 会定时探测集群中的 Master 节点,当 Master 出现故障时,它可以自动将最新数据的 Standby Master 或 Slave 提升为新的 Master,然后将其他的 Slave 重新指向新的 Master。 二、MHA的工具