配景
在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}
- 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}
- 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):
添加完成之后,最终的布局图如下:
总结
限于篇幅的缘故起因,本日先对orchestrator做个整体的先容。 【编辑保举】 - MySQL适用语句网络
- 分享一份适用的MySQL数据库类型,值得保藏
- 详解MySQL数据库JSON范例:用法、意义、内置函数
- 新特征解读 | MySQL 5.7进级到MySQL 8.0的留意事项
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0 (编辑:河北网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|