MySQL-高可用架构-ORCH
作者:互联网
Orchestrator(orch)
简介
orchestrator 是 go编写的MySQL高可用性和复制拓扑管理工具,支持复制拓扑结构的调整,自动故障转移和手动主从切换等功能,并提供命令行访问、HTTP API 和 Web 界面。后端数据库用MySQL或SQLite存储元数据,orch作为独立的组件用于管理MySQL或SQLite数据库复制环境的场景。
支持的功能
Discovery(自动发现)
自动发现MySQL的复制拓扑,并且在web上展示
Refactoring(重构)
可以在web进行拖图来进行复制关系的变更
Recovery(恢复)
检测主异常,并可以自动或手动恢复,通过Hooks进行自定义脚本
部署
orch 是用主机名进行管理维护工作。
环境规划
监控目标 MySQL一主两从复制架构(可新建或现存环境),使用mysql作为orch的元数据库
IP | 主机名称 | 端口 | 组件 |
---|---|---|---|
orch 后端数据库 | |||
192.168.10.181 | db01 | 3306 | orchestrator |
192.168.10.182 | db02 | 3306 | orchestrator |
192.168.10.183 | db03 | 3306 | orchestrator |
监控目标数据库 | |||
192.168.10.181 | db01 | 3308 | MySQL |
192.168.10.182 | db02 | 3308 | MySQL |
192.168.10.183 | db03 | 3308 | MySQL |
下载软件
wget https://github.com/openark/orchestrator/releases/download/v3.2.6/orchestrator-3.2.6-linux-amd64.tar.gz
依赖
使用 MySQL 作为后端元信息库时
- 安装MySQL数据库
使用 SQLite 作为后端元信息库时
- 无
安装
二进制(tarball)
GitHub中仅提供linux环境的tarball包
tar -xf orchestrator-3.2.6-linux-amd64.tar.gz -C /ups/app/
配置环境变量
expport PATH=/ups/app/orchestrator-3.2.6/bin:$PATH
rpm包
rpm -i orchestrator-3.2.6.x86_64.rpm
配置
配置后端元信息数据库
-- 元数据库MySQL和orchestrator在同一台机器,否则需要将127.1替换orchestrator所在机器ip
CREATE DATABASE IF NOT EXISTS orchestrator;
CREATE USER 'orchestrator'@'127.0.0.1' IDENTIFIED BY 'orch_backend_password';
GRANT ALL PRIVILEGES ON `orchestrator`.* TO 'orchestrator'@'127.0.0.1';
授权访问权限(监控目标数据库执行)
给orchestrator用户授权访问监控目标数据库权限
CREATE USER 'orchestrator'@'orch_hostname' IDENTIFIED BY 'orch_topology_password';
GRANT SUPER, PROCESS, REPLICATION SLAVE, RELOAD ON *.* TO 'orchestrator'@'orch_hostname';
GRANT SELECT ON mysql.slave_master_info TO 'orchestrator'@'orch_hostname';
GRANT SELECT ON ndbinfo.processes TO 'orchestrator'@'orch_hostname'; -- Only for NDB Cluster
GRANT SELECT ON meta.* TO 'orchestrator'@'orch_hostname'; --自定义meta库
Orchestrator配置文件(/etc/orchestrator.conf.json)
修改下面配置项
"MySQLOrchestratorHost": "127.0.0.1",
"MySQLOrchestratorPort": 3306,
"MySQLOrchestratorDatabase": "orchestrator",
"MySQLOrchestratorUser": "orchestrator",
"MySQLOrchestratorPassword": "orch_backend_password",
"MySQLTopologyUser": "orchestrator",
"MySQLTopologyPassword": "orch_topology_password",
启动orchestator服务
./orchestrator --debug --config=/etc/orchestrator.conf.json http
使用
附录
参考文档
标签:orchestrator,ORCH,数据库,hostname,192.168,orch,MySQL,架构 来源: https://www.cnblogs.com/binliubiao/p/15969231.html