Orchestrator高可用管理详解
程序员文章站
2022-03-26 19:32:10
背景在MySQL高可用架构中,目前使用比较多的是Percona的PXC,Galera以及MySQL 5.7之后的MGR等,其他的还有的MHA,今天介绍另一个比较好用的MySQL高可用复制管理工具:Orchestrator(orch)。Orchestrator这是一款go编写的MySQL高可用性和复制拓扑管理工具,支持复制拓扑结构的调整,自动故障转移和手动主从切换等。后端数据库用MySQL或SQLite存储元数据,并提供Web界面展示MySQL复制的拓扑关系及状态,通过Web可更改MySQL实例的复制关...
背景
在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界面管理复制
安装
环境
centos 7
192.168.1.153 master
192.168.1.154 slave
192.168.1.155 slave
安装安装mysql-master(192.168.1.153)
docker安装mysql
$ docker pull mysql:5.7.22
$ docker run -tid --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql-master mysql:5.7.22
创建同步用户
docker exec -ti mysql-master mysql -uroot -p123456 -e "grant replication slave on *.* to 'db_sync'@'%' identified by 'abcdefg';"
安装安装mysql-slave(192.168.1.154/155)
docker安装mysql
$ docker pull mysql:5.7.22
$ docker run -tid --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql-slave mysql:5.7.22
与主同步
$ docker exec -ti mysql-slave mysql -uroot -p123456 -e "stop slave;change master to master_host='192.168.1.10',master_user='db_sync',master_password='abcdefg',master_port=3306,master_auto_position=1;start slave;"
本文地址:https://blog.csdn.net/xixihahalelehehe/article/details/106099648