MySQL高可用复制管理工具Orchestrator怎么用

52次阅读
没有评论

共计 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 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-18发表,共计2421字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)