|
|
51CTO旗下网站
|
|
移动端

推荐一款MySQL高可用复制管理工具——Orchestrator介绍

在MySQL高可用架构中,目前使用比较多的是Percona的PXC,Galera以及MySQL 5.7之后的MGR等,其他的还有的MHA,今天介绍另一个比较好用的MySQL高可用复制管理工具:Orchestrator(orch)。

作者:波波说运维来源:今日头条|2019-07-19 16:55

背景

在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界面管理复制。

推荐一款MySQL高可用复制管理工具——Orchestrator介绍

安装

根据需要下载合适的包进行安装,下载好deb包后,需要安装jq的依赖包(apt-get install jq)。安装完成之后,相应的目录为:

  1. /usr/local/orchestrator 
  2. -rwxr-xr-x 1 root root 20M 1月 16 21:49 orchestrator 
  3. -rw-r--r-- 1 root root 5.1K 1月 16 21:49 orchestrator-sample.conf.json 
  4. -rw-r--r-- 1 root root 4.4K 1月 16 21:49 orchestrator-sample-sqlite.conf.json 
  5. 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" 」,格式:
  1. [client] 
  2. user=orchestrator_srv 
  3. password=${ORCHESTRATOR_PASSWORD} 
  • 后端MySQL数据库的用户权限需要是:
  1. CREATE USER 'orchestrator_srv'@'orc_host' IDENTIFIED BY 'orc_server_password'
  2. GRANT ALL ON orchestrator.* TO 'orchestrator_srv'@'orc_host'
  • MySQLTopologyUser:被管理的MySQL的用户(明文)
  • MySQLTopologyPassword:被管理的MySQL的密码(密文)
  • MySQLTopologyCredentialsConfigFile:被管理的MySQL的用户密码配置文件「"/etc/mysql/orchestrator-topology.cnf"」,格式:
  1. [client] 
  2. user=orchestrator_srv 
  3. password=${ORCHESTRATOR_PASSWORD} 
  • 被管理MySQL数据库的用户权限需要是:
  1. CREATE USER 'orchestrator'@'orc_host' IDENTIFIED BY 'orc_topology_password'
  2. GRANT SUPER, PROCESS, REPLICATION SLAVE, REPLICATION CLIENT, RELOAD ON *.* TO 'orchestrator'@'orc_host'
  3. GRANT SELECT ON meta.* TO 'orchestrator'@'orc_host'
  4. GRANT SELECT ON ndbinfo.processes TO 'orchestrator'@'orc_host'-- Only for NDB Cluster 

运行部署

1. 开启orchestrator

  1. ./orchestrator --debug --config=/etc/orchestrator.conf.json http 

2. 把配置好的复制实例加入到orchestrator,因为orch可以自动发现整个拓扑的所有实例,所以只需要添加任意一台实例即可,如果没有发现的话可以再添加。

在web上添加(导航里的Clusters -> Discover):

添加完成之后,最终的结构图如下:

推荐一款MySQL高可用复制管理工具——Orchestrator介绍

总结

限于篇幅的原因,今天先对orchestrator做个整体的介绍。

【编辑推荐】

  1. MySQL实用语句收集
  2. 分享一份实用的MySQL数据库规范,值得收藏
  3. 详解MySQL数据库JSON类型:用法、意义、内置函数
  4. 新特性解读 | MySQL 5.7升级到MySQL 8.0的注意事项
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

292人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

647人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

Eclipse从入门到精通(第2版)

本书为《Eclipse从入门到精通》一书的全新改版。本书以最新的Eclipse 3.2作为写作版本。全书分为5篇:起步篇介绍了Eclipse及相关插件的安装...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客