今天主要介绍一下如何部署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主要有以下几个特征:
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
到这里就完成orchestrator的搭建工作了。
2月26日消息 众所周知,Windows 10 的安全更新和其他重要累计更新通常是在同一天...
一、Postman背景介绍 用户在开发或者调试网络程序或者是网页B/S模式的程序的时候...
开发过程中,我们经常会遇到代码回滚的情况。正常人都知道,git 回滚有两大宝: ...
简介 “ 大家好我是帅哥欢迎来到帅哥的程序人生我会把经历分享出来助你了解圈内...
继 Australis 和 Photon 之后,Mozilla 现又酝酿为 Firefox 带来名为Proton的全...
不少Windows 10用户之前都抱怨一个问题,那就是系统的屏幕出现了渲染问题,而微...
console.log ,作为一个前端开发者,可能每天都会用它来分析调试,但这个简单函...
互联网业务往往使用MySQL数据库作为后台存储,存储引擎使用InnoDB。我们针对互联...
前言 aop即是面向切面编程,众多Aop框架里Castle是最为人所知的,另外还有死去的...
本文转载自微信公众号「Linux开发那些事儿」,作者 LinuxThings 。转载本文请联...