详解MySQL复制拓扑管理工具Orchestrator--自动Failover机制
概述
Orchestrator是一款开源的MySQL复制拓扑管理工具,采用go语言编写,支持MySQL主从复制拓扑关系的调整、支持MySQL主库故障自动切换、手动主从切换等功能。
相比于MHA,Orchestrator更加偏重于复制拓扑关系的管理,能够实现MySQL任一复制拓扑关系的调整,并在此基础上,实现MySQL高可用,另外Orchestrator自身可以部署多个节点,通过raft分布式一致性协议,保证自身的高可用。
今天主要介绍一下orchestrator关于failover方面的内容。
一、配置orchestrator-client(建议在拓扑库安装)
1、配置环境
# export ORCHESTRATOR_API=http://172.26.151.69:3000/api
2、linux下安装json解析工具jq
3、基础命令
二、故障转移
不管主库是否正常,强制主从切换,-i指定集群中任一实例,-d 指定新主库, 注意切换后旧主库不会指向新主库,需要手动操作
主从切换,旧主库会指向新主库,但是复制线程是停止的,需要人工手动执行start slave,恢复复制。
三、自动故障切换
Orchestrator能够配置成自动检测主库故障,并完成故障切换。
1、参数配置
RecoverMasterClusterFilters 和 RecoverIntermediateMasterClusterFilters 必须配置为["*"],否则自动切换不会触发。
FailureDetectionPeriodBlockMinutes 和 RecoveryPeriodBlockSeconds 参数默认值为1个小时,也就是如果发生了故障切换,在1个小时之内,该主库再次出现故障,将不会被监测到,也不会触发故障切换。
2、以http方式启动后台Web服务
3、测试访问
成功启动后,可通过浏览器访问Web页面:
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~