如何部署MySQL复制拓扑管理工具Orchestrator

60次阅读
没有评论

共计 2696 个字符,预计需要花费 7 分钟才能阅读完成。

这期内容当中丸趣 TV 小编将会给大家带来有关如何部署 MySQL 复制拓扑管理工具 Orchestrator,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

今天主要介绍一下如何部署 MySQL 复制拓扑管理工具 –Orchestrator。

一、MySQL 复制拓扑管理工具 Orchestrator

1. 简介

Orchestrator 是一款开源的 MySQL 复制拓扑管理工具,采用 go 语言编写,支持 MySQL 主从复制拓扑关系的调整、支持 MySQL 主库故障自动切换、手动主从切换等功能。

Orchestrator 后台依赖于 MySQL 或者 SQLite 存储元数据,能够提供 Web 界面展示 MySQL 集群的拓扑关系及实例状态,通过 Web 界面可更改 MySQL 实例的部分配置信息,同时也提供命令行和 api 接口,以便更加灵活的自动化运维管理。

相比于 MHA,Orchestrator 更加偏重于复制拓扑关系的管理,能够实现 MySQL 任一复制拓扑关系的调整,并在此基础上,实现 MySQL 高可用,另外 Orchestrator 自身可以部署多个节点,通过 raft 分布式一致性协议,保证自身的高可用。

2. 特征

Orchestrato 主要有以下几个特征:

自动监测数据库复制的结构及其状态

提供了 GUI,CLI,API 等接口来检查复制拓扑的状态以及做一些调整的操作

支持自动的 master failover,当复制结构的 server 挂掉以后 (不管手动还是自动的),能够重新形成复制的拓扑结构

不依赖于特定的 server 版本或分支 (MySQL, Percona Server, MariaDB or even MaxScale binlog  servers)

支持多种类型的拓扑结构,不管是单个的主从还是成百上千个 server 组成的多级复制都不在话下

他的 GUI 不只是做向你 report 拓扑状态而已,你可以在 Orchestrator  web 页面通过拖拽或者删除节点来改变复制拓扑 (CLI 和 API 也能做)

3. 体系结构

以下图表说明了每个 Orchestrator 功能以及相互之间的通信。

Orchestration 数据库是 Orchestrator 安装的中心,其中包含所有 Runbook、配置设置和日志。系统需要以  Management 服务器作为 Runbook Designer 与 Orchestration 数据库之间的通信层。一个或多个 Runbook   服务器直接与此数据库通信,以检索要运行的 Runbook 以及存储关于从 Runbook 中创建的作业的信息。Web 服务也直接与 Orchestration   数据库通信,并为 Orchestration 控制台提供 Web 浏览器连接。

二、环境准备

1. IP 规划

2. 设置 hostname 解析

三、安装部署 Orchestrator

源码地址:https://github.com/github/orchestrator.git

1. 下载

2. rpm 安装

安装完成后,目录在 /usr/local/orchestrator

3. 修改 my.cnf

MySQL 配置文件加一个 report_host 参数,report_host 为只读参数,必须重启才可生效

说明:不加 report_host,show slave hosts 不会显示 host,会导致程序报错的

4. 创建数据库及用户

(1) 拓扑库操作:

CREATE DATABASE IF NOT EXISTS orchestrator; GRANT ALL PRIVILEGES ON `orchestrator`.* TO  orche @ %  IDENTIFIED BY  xxxxx

(2) 主从库操作:

如果是主从复制,主从分别操作

5. 修改 orchestrator 配置文件

# cd /usr/local/orchestrator/ # cp orchestrator-sample.conf.json orchestrator.conf.json # vim orchestrator.conf.json ========================================================= {  Debug : true,  EnableSyslog : false,  ListenAddress :  :3000 , #http 开放端口   MySQLTopologyUser :  orche , #mysql 管理账号,所有被管理的 MySQL 集群都需要有该账号   MySQLTopologyPassword :  xx , #mysql 管理账号密码   MySQLTopologyCredentialsConfigFile :  ,  MySQLTopologySSLPrivateKeyFile :  ,  MySQLTopologySSLCertFile :  ,  MySQLTopologySSLCAFile :  ,  MySQLTopologySSLSkipVerify : true,  MySQLTopologyUseMutualTLS : false,  MySQLOrchestratorHost :  xx , # 后台 mysql 数据库地址,orchestrator 依赖 MySQL 或者 SQLite 存储管理数据   MySQLOrchestratorPort : 3306, # 后台 mysql 数据库端口   MySQLOrchestratorDatabase :  orchestrator , # 后台 mysql 数据库名   MySQLOrchestratorUser :  orche , # 后台 mysql 数据库账号   MySQLOrchestratorPassword :  xx , # 后台 mysql 数据库密码  ................. ] =========================================================

注意:MySQLTopologyUser   这个配置项为被管理的 MySQL 集群的 admin 账号,该账号需要有 super,process,reload,select,replicatiopn  slave,replicatiopn client 权限。

6. 启动 orchestrator

7. 发现实例

8. 访问

Web 页面:http://172.26.151.69:3000

如何部署 MySQL 复制拓扑管理工具 Orchestrator

到这里就完成 orchestrator 的搭建工作了。

上述就是丸趣 TV 小编为大家分享的如何部署 MySQL 复制拓扑管理工具 Orchestrator 了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注丸趣 TV 行业资讯频道。

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