设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

QQ登录

只需一步,快速开始

#公告#抱歉,网站将关闭,不再开放。由于PC时代已远逝 。在这个后移动互联网时代,我们继续携手前行,保持对技术的热情。共同构建linuxtone知识星球欢迎加入,一起讨论技术、招聘人才、分享资源。请新老linuxtone人 扫码移步到 知识星球:linuxtone

学习是一种信仰!分享是一种快乐!能力= 心态 * 沟通 * 知识 (你的每一天需要正能量!)

 网站的发展需要你贡献一份力量!希望你能每天坚持看贴1小时,并回答网友的问题!祝你在浏览论坛的过程中取得进步!谢谢!linuxtone加油!大家加油! 友情提示: 你今天学习了吗?你今天进步了吗?少一点抱怨!多一点进步!Life is short ! Why not linuxtone ?  

网站的发展、感谢每位坛友的努力!

查看: 4674|回复: 1

[MySQL集群架构] 基于MySQL GTID一键自动化切换 [复制链接]

Rank: 4

签到
17
注册时间
2012-7-11
最后登录
2015-4-7
在线时间
7 小时
阅读权限
50
积分
1906
帖子
27
主题
26
精华
0
UID
32645
发表于 2015-3-14 15:20:57 |显示全部楼层
    在早期的mysql运维中,主库宕机后,某一台从库提升主库,而其他的从库挂载到新的主库时,比较麻烦,例如:找点位这一步就比较复杂,虽然在开源的,MMM,MHA中,也都实现了自动漂移主库,个人觉得还是趋于复杂,觉得还不如自己切换简单,所以一直都没有上线这样的第三方监控切换程序,
但人工切换,总是违背一些自动化理念,自从MySQL 5.6发版,GTID进入大家视线,我个人觉得这是主库自动化切换的一次历史性革命,为了完全的自动化MySQL主库切换,oracle在脚本工具集,加入了mysqlfailover工具,介绍如下:
http://www.oschina.net/translate ... lf_healing_recovery
oracle自己也意识到,自动切换的必然性;而最近facebook的ppt中也大力介绍了基于GTID的主库切换,MHA 0.56 也加入了GTID主库主库,这就足以说明,我们是时候引入GTID了。
    这里我没有直接使用MHA,而是用了mysqlfailover,最大的原因的mysqlfailover是python写的,我们自己好控制把。(一用就发现bug了:在重用连接的时候,如果mysql连接时间太短,会出现alive状态一行)
    这里介绍一下我们的整套切换实现流程(这里不介绍GTID的原理),如下图:
   


    一台failover来判断主库宕机,异常不靠谱,因为,在网络环境异常复杂的现状中,完全有可能failover到主库不通,而到从库是通,所以这里,利用3个failover节点,来实现多机器探测,屏蔽网络问题造成的异常切换。
    为了简单,这里指定了leader节点(而没有像redis sentinal自动选leader),主节点负责 监控、探测、切换功能,
其他节点只负责监控、探测,当发现主库异常后,所有的detect module会通知本地一个指定port(通过tornado实现),而主detect module会通过port,拿取监控信息,跟本地的监控信息进行对比,确定主库是否宕机,如果全部宕机,才触发切换module,进行切换,只有其中一台认为master正常,那不进行切换。
    主节点进行切换完毕后,通过port通知其他节点更新新的主从结构到本地的配置,进行下一次的正常《主库监控、探测、切换流程》,并把新的结构配置更新到mysql proxy中。
    这里为简单运维简单,把命令行模式的启动的mysqlfailover改成了通过读取配置启动,配置如下:
[main]
monitor_port = 8888
log_file = 3874.log
discover = yangting:yangtingpassword
master = yangting:yangtingpassword@10.16.15.61:3874
monitor_host = 10.16.15.61,10.16.15.165
leader = 1
pidfile = 3874.pid

至此整套切换流程完毕。

Rank: 8Rank: 8

注册时间
2011-9-16
最后登录
2020-5-27
在线时间
975 小时
阅读权限
90
积分
274705
帖子
2158
主题
2
精华
0
UID
15647
发表于 2015-3-15 09:53:08 |显示全部楼层
图片挂了

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢您的支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2020-5-27 03:43 , Processed in 0.018493 second(s), 14 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部