当前位置: 首页 > 科技观察

这篇文章学习如何部署MySQL复制拓扑管理工具:Orchestrator

时间:2023-03-18 21:43:56 科技观察

今天主要介绍如何部署MySQL复制拓扑管理工具--Orchestrator。1、MySQL复制拓扑管理工具Orchestrator1。简介Orchestrator是一款开源的MySQL复制拓扑管理工具,用go语言编写,支持调整MySQL主从复制拓扑关系、MySQL主库故障自动切换、手动主从切换等功能。Orchestrator后台依赖MySQL或SQLite存储元数据,可以提供Web界面显示MySQL集群的拓扑关系和实例状态。通过Web界面,可以更改MySQL实例的一些配置信息,同时也提供了命令行和api接口,实现更灵活的自动化运维管理。与MHA相比,Orchestrator更侧重于复制拓扑关系的管理,可以调整MySQL的任意复制拓扑关系。在此基础上,可以实现MySQL的高可用。另外,Orchestrator本身可以部署多个节点,通过raftConsistency协议进行分布式保证自身的高可用。2.特性Orchestrato主要有以下特性:自动监控数据库复制的结构和状态提供GUI、CLI、API等接口来检查复制拓扑的状态并做出一些调整支持自动masterfailover,当复制结构完成后服务器挂掉(无论是手动还是自动),复制的拓扑可以重新形成,而不依赖于特定的服务器版本或分支(MySQL,PerconaServer,MariaDB甚至MaxScalebinlog服务器)支持多种类型的拓扑,无论是是单主从或者由成百上千台服务器组成的多级复制,它的GUI不只是向你报告拓扑状态,你可以通过在Orchestrator网页拓扑上拖拽或删除节点来改变复制(CLI和API也可以)3.架构下图说明了每个Orchestrator功能以及它们如何相互通信。Orchestrator数据库是Orchestrator安装的中心,包含所有运行手册、配置设置和日志。系统需要管理服务器作为RunbookDesigner和Orchestration数据库之间的通信层。一个或多个Runbook服务器直接与此数据库通信以检索要运行的Runbook并存储有关从Runbook创建的作业的信息。Web服务还直接与Orchestration数据库通信,并提供与Orchestration控制台的Web浏览器连接。二、环境准备1、IP规划2、设置主机名解析3、安装部署Orchestrator源码地址:https://github.com/github/orchestrator.git1、下载2、rpm安装完成后,目录在/usr/local/orchestrator3。修改my.cnfMySQL配置文件,增加一个report_host参数。report_host是只读参数,必须重启才能生效。注意:没有report_host,showslavehosts不会显示host,会导致程序报错。4、创建数据库和用户(1)拓扑库操作:CREATEDATABASEIFNOTEXISTSorchestrator;GRANTALLPRIVILEGESON`orchestrator`.*TO'orche'@'%'IDENTIFIEDBY'xxxxx';(2)主从库操作:如果是主从副本,则主从分开操作5.修改orchestrator配置文件#cd/usr/local/orchestrator/#cporchestrator-sample.conf.jsonorchestrator.conf.json#vimorchestrator.conf.json=============================================================={"Debug":true,"EnableSyslog":false,"ListenAddress":":3000",#http开放端口"MySQLTopologyUser":"orche",#mysql管理账号,所有管理的MySQL集群都需要有这个账号"MySQLTopologyPassword":"xx",#mysql管理账号密码"MySQLTopologyCredentialsConfigFile":"","MySQLTopologySSLPrivateKeyFile":"","MySQLTopologySSLCertFile":"","MySQLTopologySSLCAFile":"","MySQLTopologySSLSkipVerify":true,"MySQLTopologyUseMutualTLS":false,"MySQLOrchestratorHost":"xx",#后台mysql数据库地址,orchestrator依赖MySQL或SQLite存储管理数据"MySQLOrchestratorPort":3306,#后台mysql数据库端口"MySQLOrchestratorDatabase":"orchestrator",#后台mysql数据库名称"MySQLOrchestratorUser":"orche",#后台mysql数据库账号"MySQLOrchestratorPassword":"xx",#后台mysql数据库密码。.......]=========================================================注意:配置项MySQLTopologyUser是被管理的MySQL集群的admin账号,这个账号需要有super、process、reload、select、replicatiopnslave、replicatiopn客户端权限6.启动orchestrator7.发现实例8.访问网页:http://172.26.151.69:3000在这里完成orchestrator的搭建。