Orchestrator是一款開源的MySQL複製拓撲管理工具,採用go語言編寫,支持MySQL主從複製拓撲關係的調整、支持MySQL主庫故障自動切換、手動主從切換等功能。
相比於MHA,Orchestrator更加偏重於複製拓撲關係的管理,能夠實現MySQL任一複製拓撲關係的調整,並在此基礎上,實現MySQL高可用,另外Orchestrator自身可以部署多個節點,通過raft分布式一致性協議,保證自身的高可用。
今天主要介紹一下orchestrator關於failover方面的內容。
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方面的內容,感興趣的朋友可以關注下~