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

背景

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

90b70ac96066a0aed80f0fc7f526de87.png

安装

根据需要下载合适的包进行安装,下载好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 resourcesorchestrator:应用程序

*.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):

0fa8faccbe1687dda477759246a6d51a.png

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

26b1ea42db0b454acf96aca1771a6ccf.png

总结

限于篇幅的原因,今天先对orchestrator做个整体的介绍,后面会单独更新一下orch的部署教程及具体使用教程,感兴趣的朋友可以关注一下~

cc4ce10f6bb3d67c67267055203f6f82.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值