MySQL高可用方案有很多种,常见的有:keepalived、MHA、Galera、MGR、Orchestrator、replication-manager等。本系列将介绍在GitHub被使用的Orchestrator方案。本篇文章先介绍最基础的单节点模式的安装。
orchestrator机器:10.10.30.146
orchestrator后端元数据库MySQL:10.10.30.146
目标监控数据库:10.10.30.129:3306
安装MySQL的步骤省略,和常规安装MySQL一样
安装完成后创建orchestrator需要用到的库和用户
CREATE DATABASE IF NOT EXISTS orchestrator;
CREATE USER 'orchestrator'@'127.0.0.1' IDENTIFIED BY 'orchestrator';
GRANT ALL PRIVILEGES ON `orchestrator`.* TO 'orchestrator'@'127.0.0.1';
这里元数据库MySQL和orchestrator在同一台机器上,所以创建账号的时候用的’127.0.0.1’,如果不在同一台机器上,将IP换成orchestrator所在机器ip。
密码按需修改。
下载orchestrator安装包,这里用的是orchestrator-3.1.0-linux-amd64.tar.gz
https://github.com/github/orchestrator/releases
解压orchestrator安装包
tar -xvzf orchestrator-3.1.0-linux-amd64.tar.gz -C /
将/usr/local/orchestrator/orchestrator-sample.conf.json移动到/etc下,并命名为orchestrator.conf.json
[root@10-10-30-146 orchestrator]# ls
orchestrator orchestrator-sample-sqlite.conf.json orchestrator-sample.conf.json resources
[root@10-10-30-146 orchestrator]# cp orchestrator-sample.conf.json /etc/orchestrator.conf.json
在需要监控的目标数据库上进行授权。这里目标数据库是:10.10.30.129:3306
CREATE USER 'orchestrator'@'orch_host' IDENTIFIED BY 'orch_topology_password';
GRANT SUPER, PROCESS, REPLICATION SLAVE, RELOAD ON *.* TO 'orchestrator'@'orch_host';
GRANT SELECT ON mysql.slave_master_info TO 'orchestrator'@'orch_host';
GRANT SELECT ON ndbinfo.processes TO 'orchestrator'@'orch_host'; -- Only for NDB Cluster
其中,将’orch_host’ 改成对应orch所在服务器的ip,'orch_topology_password’改成合适的密码。这里orch_host是10.10.30.146,将密码改为orchestrator。
修改/etc/orchestrator.conf.json如下:
/// 配置orchestrator后端元数据库信息
...
"MySQLOrchestratorHost": "127.0.0.1",
"MySQLOrchestratorPort": 3306,
"MySQLOrchestratorDatabase": "orchestrator",
"MySQLOrchestratorUser": "orchestrator",
"MySQLOrchestratorPassword": "orchestrator",
...
/// 配置orchestrator监控的目标数据库信息
"MySQLTopologyUser": "orchestrator",
"MySQLTopologyPassword": "orchestrator",
cd /usr/local/orchestrator && ./orchestrator --config=/etc/orchestrator.conf.json http &
web端访问地址10.10.30.146:3000。页面效果如下: