一.orchestrator是什么?

1.1 概述

orchestrator is a MySQL high availability and replication management tool, runs as a service and provides command line access, HTTP API and Web interface.

orchestrator采用go语言编写,它能够主动发现当前拓扑结构和主从复制状态,支持MySQL主从复制拓扑关系的调整、支持MySQL主库故障自动切换(failover)、手动主从切换(switchover)等功能。

orchestrator后台依赖于MySQL存储元数据,能够提供Web界面展示MySQL集群的拓扑关系及实例状态,可以通过Web界面可更改MySQL实例的部分配置信息,同时也提供命令行和api接口,以便更加灵活的自动化运维管理。

 1.2 功能

Discovery

orchestrator actively crawls through your topologies and maps them. It reads basic MySQL info such as replication status and configuration.

It provides you with slick【slɪk 流畅的;灵巧的;】 visualization of your topologies, including replication problems, even in the face of failures.

Refactoring

orchestrator understands replication rules. It knows about binlog file:position, GTID, Pseudo GTID, Binlog Servers.

Refactoring replication topologies can be a matter of drag & drop a replica under another master. Moving replicas around is safe: orchestrator will reject an illegal refactoring attempt.

Fine-grained control is achieved by various command line options.

Recovery

orchestrator uses a holistic approach to detect master and intermediate master failures. Based on information gained from the topology itself, it recognizes a variety of failure scenarios.

Configurable, it may choose to perform automated recovery (or allow the user to choose type of manual recovery). Intermediate master recovery achieved internally to orchestrator. Master failover supported by pre/post failure hooks.

Recovery process utilizes orchestrator's understanding of the topology and of its ability to perform refactoring. It is based on state as opposed to configurationorchestrator picks the best recovery method by investigating/evaluating the topology at the time of recovery itself.

The interface

orchestrator supports:

  • Command line interface (love your debug messages, take control of automated scripting)
  • Web API (HTTP GET access)
  • Web interface, a slick one.
Additional perks(其它功能)

  • Highly available
  • Controlled master takeovers
  • Manual failovers
  • Failover auditing
  • Audited operations
  • Pseudo-GTID
  • Datacenter/physical location awareness
  • MySQL-Pool association
  • HTTP security/authentication methods
  • There is also an orchestrator-mysql Google groups forum to discuss topics related to orchestrator

二.丰富的AIP接口

丰富的接口,便于系统的集成和跨系统的调用,这也是比MHA强的地方。

https://gitcode.com/gh_mirrors/or/orchestrator/blob/master/go/http/api.go

这个网址上的AIP接口还是比较全面的。需要注意的是,如果某一个浏览器打不开,建议换一个试下。

三.部署安装

1.下载安装包

网址为:

https://github.com/openark/orchestrator/releases

例如下载最新版本3.2.6的tar包,下载包的路径

https://github.com/openark/orchestrator/releases/download/v3.2.6/orchestrator-3.2.6-linux-amd64.tar.gz

2.2 部署安装目录设计