一 orch服务部署
二 mysql参数调整
1 设置report_host和report_port
2 设置 slave_net_timeout 设置8S,超过这个时间,IO_THREAD主动退出
3 设置 master_heartbeat_period 设置2S 每2S发送一个心跳检测包
这样在8-10S,就能检测出故障进行切换‘
三 mysql需要开启
1 GTID 2 binlog 3 增强半同步复制-rpl_semi_sync_master_timeout =100000(防止转化为异步复制)
四 mysql硬件配置
1 最好选择配置相同的服务器硬件,不需要指定提升服务的主库,让orch自行选择
五 orch精选参数
1 ApplyMySQLPromotionAfterMasterFailover:true->reset relaylog+set read_only=OFF
2 FailMasterPromotionIfSQLThreadNotUpToDate:true ->sql_thread 延时会进行等待,防止reset relaylog被清除导致事务丢失 和 DetachLostReplicasAfterMasterFailover 参数互斥
3 DetachLostReplicasAfterMasterFailover:true ->清除在切换过程中有问题的从的节点 将通过detach-replica命令强行中断它们的复制,以确保没有人认为它们完全正常。
4 "RecoverMasterClusterFilters": ["*"] ->所有M-S集群支持恢复
5 "RecoverIntermediateMasterClusterFilters": ["*"] ->所有M-S-S集群支持恢复
6 "FailureDetectionPeriodBlockMinutes":3600 -> 防止切换后的抖动再触发动作