共計(jì) 2421 個(gè)字符,預(yù)計(jì)需要花費(fèi) 7 分鐘才能閱讀完成。
本篇文章給大家分享的是有關(guān) MySQL 高可用復(fù)制管理工具 Orchestrator 怎么用,丸趣 TV 小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著丸趣 TV 小編一起來看看吧。
背景
在 MySQL 高可用架構(gòu)中,目前使用比較多的是 Percona 的 PXC,Galera 以及 MySQL 5.7 之后的 MGR 等,其他的還有的 MHA,今天介紹另一個(gè)比較好用的 MySQL 高可用復(fù)制管理工具:Orchestrator(orch)。
Orchestrator
這是一款 go 編寫的 MySQL 高可用性和復(fù)制拓?fù)涔芾砉ぞ撸С謴?fù)制拓?fù)浣Y(jié)構(gòu)的調(diào)整,自動(dòng)故障轉(zhuǎn)移和手動(dòng)主從切換等。后端數(shù)據(jù)庫(kù)用 MySQL 或 SQLite 存儲(chǔ)元數(shù)據(jù),并提供 Web 界面展示 MySQL 復(fù)制的拓?fù)潢P(guān)系及狀態(tài),通過 Web 可更改 MySQL 實(shí)例的復(fù)制關(guān)系和部分配置信息,同時(shí)也提供命令行和 api 接口,方便運(yùn)維管理。
相對(duì)比 MHA 來看最重要的是解決了管理節(jié)點(diǎn)的單點(diǎn)問題,其通過 raft 協(xié)議保證本身的高可用。GitHub 的一部分管理也在用該工具進(jìn)行管理。
Orchestrator 大致的特點(diǎn)有:
① 自動(dòng)發(fā)現(xiàn) MySQL 的復(fù)制拓?fù)洌⑶以?web 上展示。
② 重構(gòu)復(fù)制關(guān)系,可以在 web 進(jìn)行拖圖來進(jìn)行復(fù)制關(guān)系變更。
③ 檢測(cè)主異常,并可以自動(dòng)或手動(dòng)恢復(fù),通過 Hooks 進(jìn)行自定義腳本。
④ 支持命令行和 web 界面管理復(fù)制。
安裝
根據(jù)需要下載合適的包進(jìn)行安裝,下載好 deb 包后,需要安裝 jq 的依賴包(apt-get install jq)。安裝完成之后,相應(yīng)的目錄為:
/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:應(yīng)用程序
*.json:默認(rèn)的配置模板
resources:orchestrator 相關(guān)的文件:client、web、偽 GTID 等相關(guān)文件。
配置
這里列出說明幾個(gè)比較重要的參數(shù):
ListenAddress:web 界面的 http 端口
MySQLOrchestratorHost:orch 后端數(shù)據(jù)庫(kù)地址
MySQLOrchestratorPort:orch 后端數(shù)據(jù)庫(kù)端口
MySQLOrchestratorDatabase:orch 后端數(shù)據(jù)庫(kù)名
MySQLOrchestratorUser:orch 后端數(shù)據(jù)庫(kù)用戶名(明文)
MySQLOrchestratorPassword:orch 后端數(shù)據(jù)庫(kù)密碼(明文)
MySQLOrchestratorCredentialsConfigFile:后端數(shù)據(jù)庫(kù)用戶名密碼的配置文件「 MySQLOrchestratorCredentialsConfigFile : /etc/mysql/orchestrator-backend.cnf」,格式:
[client] user=orchestrator_srv password=${ORCHESTRATOR_PASSWORD}
后端 MySQL 數(shù)據(jù)庫(kù)的用戶權(quán)限需要是:
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 數(shù)據(jù)庫(kù)的用戶權(quán)限需要是:
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
運(yùn)行部署
1. 開啟 orchestrator
./orchestrator --debug --config=/etc/orchestrator.conf.json http
2. 把配置好的復(fù)制實(shí)例加入到 orchestrator,因?yàn)?orch 可以自動(dòng)發(fā)現(xiàn)整個(gè)拓?fù)涞乃袑?shí)例,所以只需要添加任意一臺(tái)實(shí)例即可,如果沒有發(fā)現(xiàn)的話可以再添加。
在 web 上添加(導(dǎo)航里的 Clusters – Discover)
添加完成
以上就是 MySQL 高可用復(fù)制管理工具 Orchestrator 怎么用,丸趣 TV 小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注丸趣 TV 行業(yè)資訊頻道。