【原创】MHA二次检测功能测试
MHA提供了很多扩展的功能,其中有一个参数是secondary_check_script,这个参数可以使我们自定义扩展多路由,多链路的二次检测功能。减少网络故障切换,降低脑裂的发生。
在虚拟机上做了如下测试,供大家参考。
5台服务器,MySQL版本5.7.18,角色如下:
Master(192.168.137.100)
Slave1(192.168.137.101)
Slave2(192.168.137.102)
MHA Manager(192.168.137.120)
Monitor1(192.168.137.103)
在配置文件中增加二次检测脚本

模拟测试:
【场景一】,
MHA Manager与Master之间通讯中断
MHA Manager与Monitor1之间通讯正常,Monitor1与Master之间通讯正常

从日志中可以看到当MHA Manager与Master之间通讯中断,检测超时后,开始二次检测,MHA Manager
尝试通过连接其他的监控服务器(192.168.137.103)检测是否能建立到Master的55944端口的连接。如果可以连接成功,认为master还活着,不会发生failover。然后继续下一次检测。

【场景二】,
MHA Manager与Master之间通讯中断
MHA Manager与Monitor1之间通讯中断,Monitor1与Master之间通讯正常

MHA Manager与Master和Monitor1之间的通讯全部中断,判断是网络问题,不发生failover,继续下一次检测。
【场景三】,
MHA Manager与Master之间通讯恢复
MHA Manager与Monitor1之间通讯正常,Monitor1与Master之间通讯正常

MHA Manager与Master之间的通讯恢复,停止二次脚本的检测。
【场景四】,
MHA Manager与Master之间通讯中断
MHA Manager与Monitor1之间通讯正常,Monitor1与Master之间通讯中断

MHA Manager及二次检测脚本中定义的其他Monitor服务器与Master都连接超时,发生failover。

其他公司关于二次检测的应用
1、魅族

2、安居客

3、美团点评


【原创】MHA二次检测功能测试的更多相关文章
- Python公众号开发(二)—颜值检测
上篇文章,我们把自己的程序接入了微信公众号,并且能把用户发送的文本及图片文件原样返回.今天我们把用户的图片通过腾讯的AI平台分析后再返回给用户. 为了防止我的文章被到处转载,贴一下我的公众号[智能制造 ...
- AI佳作解读系列(二)——目标检测AI算法集杂谈:R-CNN,faster R-CNN,yolo,SSD,yoloV2,yoloV3
1 引言 深度学习目前已经应用到了各个领域,应用场景大体分为三类:物体识别,目标检测,自然语言处理.本文着重与分析目标检测领域的深度学习方法,对其中的经典模型框架进行深入分析. 目标检测可以理解为是物 ...
- 谈谈MySQL死锁之二 死锁检测和处理源码分析
这一篇主要是通过一个实验来进行描述,过程是比较枯燥的. 实验准备 create table test_lock(id int auto_increment primary key ,stock int ...
- Netty实践二(心跳检测)
我们使用Socket通信一般经常会处理多个服务器之间的心跳检测,一般来讲,我们去维护服务器集群,肯定要有一台或几台服务器主机(Master),然后还应该有N台(Slave),那么我们的主机肯定要时时刻 ...
- 微弱信号二次谐波检测的FPGA的实现-总结
首先还是把握大的系统框架: 我要实现的部分不包括DA以及AD的转换,主要是将SSP接收到的数据送入到FIFO中,然后经过FIR带通滤波器的处理后对该信号计算幅值并做PSD,然后处理的信号经过积分够一方 ...
- jquery选择器(原创)<二>
jquery选择器,选择接着学: 前面学习了基本选择器中的CSS选择器,现在学层级选择器: 1.子元素选择器 子元素选择器,用于在给定的父元素下,查找这个父元素下面的所有的子元素,语法格式,如下: $ ...
- [原创]pg_shard使用场景及功能测试
pg_shard是一个PostgreSQL的sharding extension.可以用于Shards.Replicates tables和高可用.它可以在不修改Applications的情况下无缝分 ...
- MHA 安装过程 原创
root@monitor yum.repos.d]# cat CentOS-Base.repo [base]name=CentOS-$releasever - Basefailovermethod=p ...
- MYSQL + MHA +keepalive + VIP安装配置(二)--MHA的配置
一.总概 1.MHA介绍 MHA(Master High Availability)是自动的master故障转移和Slave提升的软件包.它是基于标准的MySQL复制(异步/半同步). MH ...
随机推荐
- 美轮美奂!9款设计独特的jQuery/CSS3全新应用插件(下拉菜单、动画、图表、导航等)
今天要为大家分享9款设计非常独特的jQuery/CSS3全新应用插件,插件包含菜单.jQuery焦点图.jQuery表单.jQuery图片特效等.下面大家一起来看看吧. 1.jQuery水晶样式下拉导 ...
- fifo 上使用 select -- 转
http://www.outflux.net/blog/archives/2008/03/09/using-select-on-a-fifo/ The right way to handle on-g ...
- 61.volatile关键字
volatile作用 volatile的作用是可以保持共享变量的可见性,即一个线程修改一个共享变量后,另一个线程能够读取到这个修改后的值. 先来看一个问题: 定义一个Task类 package com ...
- static_cast、dynamic_cast、reinterpret_cast、和const_c
;double dval = 3.14159; ival + dval;//ival被提升为double类型 2)一种类型表达式赋值给另一种类型的对象:目标类型是被赋值对象的类型 int *pi = ...
- 利用Volatility对Linux内存取证分析-常用命令翻译
命令翻译 linux_apihooks - 检查用户名apihooks linux_arp - 打印ARP表 linux_aslr_shift - 自动检测Linux aslr改变 linux_ban ...
- crond检查服务状态
代码如下: * */1 * * * /etc/init.d/ntpd status;if [ $? -ne 0 ];then /etc/init.d/ntpd start; fi
- JBoss6.1.0修改启动jvm内存以及修改日志级别【转】
转自 JBoss6.1.0修改启动jvm内存以及修改日志级别 - liangbinny的专栏 - 博客频道 - CSDN.NEThttp://blog.csdn.net/liangbinny/arti ...
- 栈应用之 背包问题(Python 版)
栈应用之 背包问题 背包问题描述:一个背包里可以放入重量为weight的物品,现有n件物品的集合s,其中物品的重量为别为w0,w1,...,wn-1.问题是能否从中选出若干件物品,其重量之和正好等于w ...
- irport报表,把数字金额转换成大写人民币金额
1.编写oracle函数 CREATE OR REPLACE Function MoneyToChinese(Money In Number) Return Varchar2 Is strYuan ) ...
- IntelliJ IDEA 把Json字符串 增加到IDE里 用windows记事本 能自动转换(自动增加转义字符)