MySql教程

MySQL-高可用架构-ORCH

本文主要是介绍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软件github地址
这篇关于MySQL-高可用架构-ORCH的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!