一文学会如何部署MySQL复制拓扑管理工具--Orchestrator
概述
今天主要介绍一下如何部署MySQL复制拓扑管理工具--Orchestrator。
Orchestrator主页:https://www.uipath.com/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主要有以下几个特征
1).自动监测数据库复制的结构及其状态
2).提供了GUI,CLI,API等接口来检查复制拓扑的状态以及做一些调整的操作
3).支持自动的master failover,当复制结构的server挂掉以后(不管手动还是自动的),能够重新形成复制的拓扑结构
4).不依赖于特定的server版本或分支(MySQL, Percona Server, MariaDB or even MaxScale binlog servers)
5).支持多种类型的拓扑结构,不管是单个的主从还是成百上千个server组成的多级复制都不在话下
6).他的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
1、下载
2、rpm安装
安装完成后,目录在/usr/local/orchestrator
3、修改my.cnf
MySQL配置文件加一个report_host参数,report_host为只读参数,必须重启才可生效
说明:不加report_host ,show slave hosts 不会显示host,会导致程序报错的
4、创建数据库及用户
4.1、拓扑库操作:
CREATE DATABASE IF NOT EXISTS orchestrator; GRANT ALL PRIVILEGES ON `orchestrator`.* TO 'orche'@'%' IDENTIFIED BY 'xxxxx';
4.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
到这里就完成orchestrator的搭建工作了。
这个工具还是很有用的,建议大家有空可以测试一下。觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~