配置分为几个部分
1 数据库连接信息相关
1 源实例连接信息
MySQLOrchestrator开头
2 探测实例连接信息
MySQLTopology开头
3 成员结构
DiscoverByShowSlaveHosts true,从库设置report相关
InstancePollSeconds 5S 获取成员结构时间间隔
UnseenInstanceForgetHours 24h 探测失败 维护成员结构
DiscoveryIgnoreReplicaHostnameFilters":[] 忽略复制的成员正则匹配
MySQLHostnameResolveMethod": "@@hostname" 成员服务器hostname的解析问题
ReasonableReplicationLagSeconds 10 复制延时高于这个值代表有问题
4 切换相关
1 再次切换的锁定时间 默认为1小时
FailureDetectionPeriodBlockMinutes 60
RecoveryPeriodBlockSeconds 3600
2 只对能匹配这些正则表达式模式的集群进行主故障恢复 设置为*
"RecoverMasterClusterFilters": ["*"],
"RecoverIntermediateMasterClusterFilters": ["*"],
3 master上的动作 1 "ApplyMySQLPromotionAfterMasterFailover": true, #在主上执行reset slave all,并设置read_only=0
4 CoMasterRecoveryMustPromoteOtherCoMaster true 共同投票选举模式
5 DelayMasterPromotionIfSQLThreadNotUpToDate:如果所有的从机都有复制延迟。即使最接近的从机也有没有应用的中继日志。设置为 true 时,orchestrator 会等待SQL线程赶上,然后再进行故障转移,将次从机提升为主 默认false 两个参数不能兼得 推荐设置为true
6 "MasterFailoverLostInstancesDowntimeMinutes": 0, #主故障转移后丢失的服务器停机的分钟数(包括失败的主和丢失的从)。0表示禁用 5 7 "PostponeSlaveRecoveryOnLagMinutes": 0, #在崩溃恢复时,延迟超过给定分钟的从库在主被选出后才复活。 值为0将禁用此功能。