共計 2421 個字符,預計需要花費 7 分鐘才能閱讀完成。
本篇文章給大家分享的是有關 MySQL 高可用復制管理工具 Orchestrator 怎么用,丸趣 TV 小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著丸趣 TV 小編一起來看看吧。
背景
在 MySQL 高可用架構中,目前使用比較多的是 Percona 的 PXC,Galera 以及 MySQL 5.7 之后的 MGR 等,其他的還有的 MHA,今天介紹另一個比較好用的 MySQL 高可用復制管理工具:Orchestrator(orch)。
Orchestrator
這是一款 go 編寫的 MySQL 高可用性和復制拓撲管理工具,支持復制拓撲結構的調整,自動故障轉移和手動主從切換等。后端數據庫用 MySQL 或 SQLite 存儲元數據,并提供 Web 界面展示 MySQL 復制的拓撲關系及狀態,通過 Web 可更改 MySQL 實例的復制關系和部分配置信息,同時也提供命令行和 api 接口,方便運維管理。
相對比 MHA 來看最重要的是解決了管理節點的單點問題,其通過 raft 協議保證本身的高可用。GitHub 的一部分管理也在用該工具進行管理。
Orchestrator 大致的特點有:
① 自動發現 MySQL 的復制拓撲,并且在 web 上展示。
② 重構復制關系,可以在 web 進行拖圖來進行復制關系變更。
③ 檢測主異常,并可以自動或手動恢復,通過 Hooks 進行自定義腳本。
④ 支持命令行和 web 界面管理復制。
安裝
根據需要下載合適的包進行安裝,下載好 deb 包后,需要安裝 jq 的依賴包(apt-get install jq)。安裝完成之后,相應的目錄為:
/usr/local/orchestrator -rwxr-xr-x 1 root root 20M 1 月 16 21:49 orchestrator -rw-r--r-- 1 root root 5.1K 1 月 16 21:49 orchestrator-sample.conf.json -rw-r--r-- 1 root root 4.4K 1 月 16 21:49 orchestrator-sample-sqlite.conf.json drwxr-xr-x 7 root root 4.0K 2 月 15 19:03 resources
orchestrator:應用程序
*.json:默認的配置模板
resources:orchestrator 相關的文件:client、web、偽 GTID 等相關文件。
配置
這里列出說明幾個比較重要的參數:
ListenAddress:web 界面的 http 端口
MySQLOrchestratorHost:orch 后端數據庫地址
MySQLOrchestratorPort:orch 后端數據庫端口
MySQLOrchestratorDatabase:orch 后端數據庫名
MySQLOrchestratorUser:orch 后端數據庫用戶名(明文)
MySQLOrchestratorPassword:orch 后端數據庫密碼(明文)
MySQLOrchestratorCredentialsConfigFile:后端數據庫用戶名密碼的配置文件「 MySQLOrchestratorCredentialsConfigFile : /etc/mysql/orchestrator-backend.cnf」,格式:
[client] user=orchestrator_srv password=${ORCHESTRATOR_PASSWORD}
后端 MySQL 數據庫的用戶權限需要是:
CREATE USER orchestrator_srv @ orc_host IDENTIFIED BY orc_server_password GRANT ALL ON orchestrator.* TO orchestrator_srv @ orc_host
MySQLTopologyUser:被管理的 MySQL 的用戶(明文)
MySQLTopologyPassword:被管理的 MySQL 的密碼(密文)
MySQLTopologyCredentialsConfigFile:被管理的 MySQL 的用戶密碼配置文件「/etc/mysql/orchestrator-topology.cnf」,格式:
[client] user=orchestrator_srv password=${ORCHESTRATOR_PASSWORD}
被管理 MySQL 數據庫的用戶權限需要是:
CREATE USER orchestrator @ orc_host IDENTIFIED BY orc_topology_password GRANT SUPER, PROCESS, REPLICATION SLAVE, REPLICATION CLIENT, RELOAD ON *.* TO orchestrator @ orc_host GRANT SELECT ON meta.* TO orchestrator @ orc_host GRANT SELECT ON ndbinfo.processes TO orchestrator @ orc_host -- Only for NDB Cluster
運行部署
1. 開啟 orchestrator
./orchestrator --debug --config=/etc/orchestrator.conf.json http
2. 把配置好的復制實例加入到 orchestrator,因為 orch 可以自動發現整個拓撲的所有實例,所以只需要添加任意一臺實例即可,如果沒有發現的話可以再添加。
在 web 上添加(導航里的 Clusters – Discover)
添加完成
以上就是 MySQL 高可用復制管理工具 Orchestrator 怎么用,丸趣 TV 小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注丸趣 TV 行業資訊頻道。