mysql架构~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 增強半同步復制
插件安裝 全局
0rpl_semi_sync_master_wait_for_slave_count 全局
1 rpl_semi_sync_master_timeout =100000 全局
2rpl_semi_sync_slave_enabled =1 從庫
3 rpl_semi_sync_master_enabled =1 主庫
4主從庫 設置成雙1模式
四 mysql硬件配置
1 最好選擇配置相同的服務器硬件,不需要指定提升服務的主庫,讓orch自行選擇
2 所有mysql集群做SSH互信-VIP綁定用
五 orch精選參數
一 探活配置
"DefaultInstancePort": 3306->默認集群端口
"InstancePollSeconds":3->探活周期
二 從庫相關
1"DiscoverByShowSlaveHosts": true->通過report方式發現從庫(推薦)
2 "MySQLDiscoveryReadTimeoutSeconds": 3->從庫超時情況
3 "ReplicationLagQuery":""
4 "ReasonableReplicationLagSeconds":10->延時超過此時代表異常 單位秒
三 切換相關
1ApplyMySQLPromotionAfterMasterFailover:true->reset relaylog+set read_only=OFF
2 DetachLostReplicasAfterMasterFailover:true ->清除在切換過程中有問題的從的節點將通過detach-replica命令強行中斷它們的復制,以確保沒有人認為它們完全正常。
3 "RecoverMasterClusterFilters": ["*"] ->所有M-S集群支持恢復
4 "RecoverIntermediateMasterClusterFilters": ["*"] ->所有M-S-S集群支持恢復
5 "FailureDetectionPeriodBlockMinutes":60 RecoveryPeriodBlockMinutes:60 -> 防止切換后的抖動再觸發動,默認一小時
6 "DetachLostReplicasAfterMasterFailover":true->切換的強制剝離副本
7 切換場景
1 強制切換,提供服務優先,可以運行丟失數據
FailMasterPromotionIfSQLThreadNotUpToDate:false
DelayMasterPromotionIfSQLThreadNotUpToDate": false
有延時:switchover failover均可以切換
2 遇到沒有應用完的relaylog時不提供切換
FailMasterPromotionIfSQLThreadNotUpToDate:true
DelayMasterPromotionIfSQLThreadNotUpToDate": flase
有延時:swithvoer failover 均不可能切換.需要人工介入
3遇到沒有應用完的relaylog時等待然后切換
FailMasterPromotionIfSQLThreadNotUpToDate:false
DelayMasterPromotionIfSQLThreadNotUpToDate": true
有延時:switchover不能切換 failover可以切換
7 VIP漂移
"PostMasterFailoverProcesses": ->主節點恢復成功后執行動作
[" orchestrator /usr/local/orchestrator/failover.sh {failureType} {failureClusterAlias} {failedHost} {successorHost} >> /tmp/orc_failover.log"],
總結
以上是生活随笔為你收集整理的mysql架构~Orch生产环境部署准备的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS 中Block以及Blocks的使
- 下一篇: 可以带腊肉乘坐飞机吗