master存活的状态下切换
masterha_master_switch --conf=/etc/masterha/app1.cnf --master_state=alive --new_master_host=192.168.0.101 --orig_master_is_new_slave --running_updates_limit=1000
不出意外的情况下,会报下面的错误:

查看源代码:

 在新master上获取正在执行的进程,也就是show processlist操作。并且将获取到的processlist信息进行分析判断,如果新master当前还存在binlog dump或binlog dump gtid进程等,则无法切换。

源码 DBHelper.pm片段

报错的原因是切换成功后,原master变成了slave,而新slave上的binlog dump gtid线程并没有没停掉,理论上切换成功后,由于角色的转换,原master变成slave,binlog dump gtid进程应该停止运行的,为什么没有被停止掉呢?
 

 
查看新master上的报错日志。

连接丢失,原来是连接丢失导致slave没接收到信号,所以进程没有被停掉。

 
该问题可以通过配置主从同步心跳检测时间来提前触发主从检测,从而达到slave上的binlog dump gtid进程提前停止。系统默认主从检测时间是3600S。
配置如下,在可能会成为master的slave上执行
stop slave;
change master to master_heartbeat_period = 10;
set global slave_net_timeout = 25;
start slave;
在当前主上执行
change master to master_heartbeat_period = 10;
set global slave_net_timeout = 25;
 
可以直接配置在配置文件中
slave_net_timeout = 25
 
再次手动切主的时候就发现binlog dump gtid进程很快就被清理了,也不会报错了。

MHA之Binlog Dump (GTID)僵尸进程清理的更多相关文章

  1. MHA集群(gtid复制)和vip漂移

    在上一片博客中,讲述了怎么去配置MHA架构!这片博客不再细说,只说明其中MySQL主从搭建,这里使用的是gtid加上半同步复制! 步骤与上一片博客一样,不同之处在于MySQL主从的搭建!详细的gtid ...

  2. linux 如何清理僵尸进程

    今天在维护服务器的时候,发现有5个nova-novncproxy的僵尸进程. 26327 ?        S      0:05  \_ /usr/bin/python /usr/bin/nova- ...

  3. linux清理僵尸进程

    查看服务器时发现好3个僵尸进程,僵尸进程存在好多天了,一直不会处理,留到了今天,顺便清理下僵尸进程吧 top命令中统计了僵尸进程,是第二行最后一项3 zombie. 或者使用下面的命令得到僵尸进程数量 ...

  4. linux系统清理僵尸进程记录

    在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他, 那么他将变成一个僵尸进程.  在fork()/execve()过程中,假设子进程结束时父进程仍存在, ...

  5. 使用Python定时清理运行超时的pdflatex僵尸进程

    问题 在我们之前的<基于texlive定制chemfig化学式转换Python服务镜像>定制的pdflatex在线转换的镜像已经运行在生产环境了,但是最近总有人反馈服务跑着跑着就慢了,本来 ...

  6. 并发编程(二)--利用Process类开启进程、僵尸进程、孤儿进程、守护进程、互斥锁、队列与管道

    一.multiprocessing模块 1.multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threading的编程接口类似. 2.mu ...

  7. 并发编程(二)——利用Process类开启进程、僵尸进程、孤儿进程、守护进程、互斥锁、队列与管道

    Process类与开启进程.守护进程.互斥锁 一.multiprocessing模块 1.multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模 ...

  8. 创建进程,join方法,进程对象相关属性和方法,僵尸进程和孤儿进程,守护进程,互斥锁

    创建进程 在python中提供了一个multiprocessing模块可以帮助我们使用多进程解决问题.在multiprocessing 模块中有一个类Process. from multiproces ...

  9. 分析案例:应用服务无响应,任务管理器中发现大量w3wp僵尸进程----等待异构系统WebService返回值

    问题描述:       某二次开发的项目反馈,不定期出现应用服务器无响应的情况,登录服务器发现任务管理器中有大量的w3wp僵尸进程. 分析过程: 针对同一进程每隔15秒抓取dump,连续抓取3个,对比 ...

随机推荐

  1. AND Graph CodeForces - 987F (状压)

    链接 大意:给定$m$个数, 若$x\&y=0$, 则在$x$与$y$之间连一条无向边. 求无向图的连通块个数 暴力连边显然超时的, 可以通过辅助结点优化连边, 复杂度$O(n2^n)$ #i ...

  2. 修改TOMCAT默认主页

    1.默认的项目都在目录:apache-tomcat-9.0.0.M22\webapps\ROOT下 2.该目录下有一个index.jsp是tomcat的默认主页,如下 3.现在需要修改这个默认主页,改 ...

  3. bzoj2242: [SDOI2011]计算器 BSGS+exgcd

    你被要求设计一个计算器完成以下三项任务: 1.给定y,z,p,计算Y^Z Mod P 的值:(快速幂) 2.给定y,z,p,计算满足xy≡ Z ( mod P )的最小非负整数:(exgcd) 3.给 ...

  4. hdu3294 manacher

    One day, sailormoon girls are so delighted that they intend to research about palindromic strings. O ...

  5. 遍历页面上主从表中从table中的内容

    //如果在建VL的时候没有建访问器.从主表行拿到从表VO的行级不太好搞的 OAAdvancedTableBean innerTable = (OAAdvancedTableBean)webBean.f ...

  6. iOS UI-AlertView(警示框)和ActionSheet(选择框、操作表单)

    #import "ViewController.h" @interface ViewController ()<UIAlertViewDelegate,UIActionShe ...

  7. PHP:php中的双引号和单引号的区别

    双引号: $a="369"; $b="$a"; echo $b;//输出:369 单引号: $a="369"; $b='$a'; echo ...

  8. POJ 3220 位运算+搜索

    转载自:http://blog.csdn.net/lyhypacm/article/details/5813634 DES:相邻的两盏灯状态可以互换,给出初始状态.询问是否能在三步之内到达.如果能的话 ...

  9. Openwrt Export Gpio Configure (7)

    1      Scope of Document This document describes how to export gpio interface under gpio-export driv ...

  10. bzoj1619

    题解: 简单灌水 从最高的开始 代码: #include<bits/stdc++.h> ; typedef long long ll; using namespace std; ]={,, ...