一 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 -> 防止切换后的抖动再触发动作