背景

在MySQL高可用架构中,目前使用比较多的是Percona的PXC,Galera以及MySQL 5.7之后的MGR等,其他的还有的MHA,今天介绍另一个比较好用的MySQL高可用复制管理工具:Orchestrator(orch)。


Orchestrator

这是一款go编写的MySQL高可用性和复制拓扑管理工具,支持复制拓扑结构的调整,自动故障转移和手动主从切换等。后端数据库用MySQL或SQLite存储元数据,并提供Web界面展示MySQL复制的拓扑关系及状态,通过Web可更改MySQL实例的复制关系和部分配置信息,同时也提供命令行和api接口,方便运维管理。

相对比MHA来看最重要的是解决了管理节点的单点问题,其通过raft协议保证本身的高可用。GitHub的一部分管理也在用该工具进行管理。

Orchestrator大致的特点有:

① 自动发现MySQL的复制拓扑,并且在web上展示。

② 重构复制关系,可以在web进行拖图来进行复制关系变更。

③ 检测主异常,并可以自动或手动恢复,通过Hooks进行自定义脚本。

④ 支持命令行和web界面管理复制。


安装

根据需要下载合适的包进行安装,下载好deb包后,需要安装jq的依赖包(apt-get install jq)。安装完成之后,相应的目录为:

/usr/local/orchestrator-rwxr-xr-x 1 root root 20M 1月 16 21:49 orchestrator-rw-r--r-- 1 root root 5.1K 1月 16 21:49 orchestrator-sample.conf.json-rw-r--r-- 1 root root 4.4K 1月 16 21:49 orchestrator-sample-sqlite.conf.jsondrwxr-xr-x 7 root root 4.0K 2月 15 19:03 resources
  • orchestrator:应用程序
  • *.json:默认的配置模板
  • resources:orchestrator相关的文件:client、web、伪GTID等相关文件。

配置

这里列出说明几个比较重要的参数:

  • ListenAddress:web界面的http端口
  • MySQLOrchestratorHost:orch后端数据库地址
  • MySQLOrchestratorPort:orch后端数据库端口
  • MySQLOrchestratorDatabase:orch后端数据库名
  • MySQLOrchestratorUser:orch后端数据库用户名(明文)
  • MySQLOrchestratorPassword:orch后端数据库密码(明文)
  • MySQLOrchestratorCredentialsConfigFile:后端数据库用户名密码的配置文件「 "MySQLOrchestratorCredentialsConfigFile": "/etc/mysql/orchestrator-backend.cnf" 」,格式:
[client]user=orchestrator_srvpassword=${ORCHESTRATOR_PASSWORD}
  • 后端MySQL数据库的用户权限需要是:
CREATE USER 'orchestrator_srv'@'orc_host' IDENTIFIED BY 'orc_server_password';GRANT ALL ON orchestrator.* TO 'orchestrator_srv'@'orc_host';
  • MySQLTopologyUser:被管理的MySQL的用户(明文)
  • MySQLTopologyPassword:被管理的MySQL的密码(密文)
  • MySQLTopologyCredentialsConfigFile:被管理的MySQL的用户密码配置文件「"/etc/mysql/orchestrator-topology.cnf"」,格式:
[client]user=orchestrator_srvpassword=${ORCHESTRATOR_PASSWORD}
  • 被管理MySQL数据库的用户权限需要是:
CREATE USER 'orchestrator'@'orc_host' IDENTIFIED BY 'orc_topology_password';GRANT SUPER, PROCESS, REPLICATION SLAVE, REPLICATION CLIENT, RELOAD ON *.* TO 'orchestrator'@'orc_host';GRANT SELECT ON meta.* TO 'orchestrator'@'orc_host';GRANT SELECT ON ndbinfo.processes TO 'orchestrator'@'orc_host'; -- Only for NDB Cluster

运行部署

1. 开启orchestrator

./orchestrator --debug --config=/etc/orchestrator.conf.json http

2. 把配置好的复制实例加入到orchestrator,因为orch可以自动发现整个拓扑的所有实例,所以只需要添加任意一台实例即可,如果没有发现的话可以再添加。

在web上添加(导航里的Clusters -> Discover):

添加完成之后,最终的结构图如下:


总结

限于篇幅的原因,今天先对orchestrator做个整体的介绍,后面会单独更新一下orch的部署教程及具体使用教程,感兴趣的朋友可以关注一下~

mysql 实例名_不为人知的MySQL高可用复制管理工具——Orchestrator简介相关推荐

  1. MySQL高可用复制管理工具 —— Orchestrator使用

    Orchestrator介绍 Orchestrator(orch):go编写的MySQL高可用性和复制拓扑管理工具,支持复制拓扑结构的调整,自动故障转移和手动主从切换等.后端数据库用MySQL或SQL ...

  2. 【DB宝40】MySQL高可用管理工具Orchestrator简介及测试

    文章目录 一.Orchestrator简介 二.快速搭建Orchestrator环境 三.添加主从环境 四.修改集群别名 五.拖动界面修改主从关系 六.自动failover 一.Orchestrato ...

  3. mysql mmm搭建_搭建mysql-mmm高可用MySQL集群

    实验需求:配置mysql-mmm,实现mysql的高可用 MySQL-MMM实现MySQL高可用 http://www.linuxidc.com/Linux/2014-02/96994.htm MyS ...

  4. linux查看mysql实例名_查询oracle数据库的数据库名、实例名、ORACLE_SID

    查询oracle数据库的数据库名.实例名.ORACLE_SID 连接ORACLE 数据库 SQL> conn risenet/1@//192.168.130.99:1521/risenet 或 ...

  5. 单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构

    015-08-09 杨尚刚 高可用架构 此文是根据杨尚刚在[QCON高可用架构群]中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处. 杨尚刚,美 ...

  6. MySQL学习笔记(1)——高可用组复制

    MySQL学习笔记(1)--高可用组复制 积土成山,风雨兴焉.积水成渊,蛟龙生焉. 一.概念 组复制(MySQL Group Replication,MGR)是MySQL官方在MySQL 5.7.17 ...

  7. Mysql数据库(十一)——MHA高可用集群部署及故障切换

    Mysql数据库(十一)--MHA高可用集群部署及故障切换 一.MHA概述 二.MHA的组成 三.MHA的特点 四.案例环境 1.服务器配置 2.思路 3.关闭防火墙和安全机制,并进行主从配置 4.配 ...

  8. mysql有实例名这个概念,MySQL的一些概念笔记

    1.MySQL Server.MySQL实例.MySQL数据库 MySQL数据库指的是实际存在的物理操作系统文件的集合,也可以指逻辑数据的集合.为了访问.处理数据,我们需要一个数据库管理系统,也就是M ...

  9. centos7双机搭建_Centos7 Mysql 双机热备实现数据库高可用

    mysql双主热备,也称主主互备,目的是mysql数据库高可用,只支持双机,原因是mysql的复制是一主多从,但一个从服务器只能有一个主服务器. 双机热备的条件是双机mysql版本必须一致. 服务器分 ...

最新文章

  1. 2月中国域名总量平稳回升 净增长量逾10.3万个
  2. 全国各地区最低工资标准情况(截至2020年3月31日)
  3. 汇编学习笔记(二)--数据处理的两个基本问题
  4. python list合并_python基础===两个list合并成一个dict的方法
  5. python中字符串相乘结果_LeetCode 43. 字符串相乘 | Python
  6. mouseover和mouseout多次触发解决方法(兼容ie和firefox)(转)
  7. 移位运算与除法、取模运算
  8. wget 和scp对比_curl与wget区别
  9. Python学习——collections系列
  10. docker 运行 php nginx_使用docker运行nginx
  11. 最全面试题CSS(含答案)
  12. 计算机应用专业,报软考应该选什么?
  13. 城市智慧排水系统导论
  14. 用java爬取斗鱼弹幕
  15. c语言计算最大值与最小值的差,C语言 · 最大值与最小值计算
  16. action的编写方式
  17. LeetCode - 罗马数字转整型
  18. sql 基础语法 创建数据库和数据表 数据增删改查 分组查询 子查询回顾
  19. FOJ 1402 猪的安家
  20. 1040 有几个PAT 测试点34

热门文章

  1. 离开载具_绝地最强载具登场?
  2. ubuntu下安装psycopg2报错
  3. Python中re模块的常见方法
  4. Spark在文本统计中的简单应用
  5. Python装饰器的实现和万能装饰器
  6. 一个搜集大量网页特效的网站
  7. 深入解读 Entity Framework 4.0和4.1
  8. [机器学习-概念篇]彻底搞懂信息量,熵、相对熵、交叉熵
  9. [深度学习-理论篇]什么是卷积神经网络CNN
  10. web.config文件访问物理路径_计算机操作系统学习笔记(五):文件管理