背景
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
安装orchestrator元数据库MySQL
安装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安装包,这里用的是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。
修改orchestrator配置文件
修改/etc/orchestrator.conf.json如下:
/// 配置orchestrator后端元数据库信息 ... "MySQLOrchestratorHost": "127.0.0.1", "MySQLOrchestratorPort": 3306, "MySQLOrchestratorDatabase": "orchestrator", "MySQLOrchestratorUser": "orchestrator", "MySQLOrchestratorPassword": "orchestrator", ... /// 配置orchestrator监控的目标数据库信息 "MySQLTopologyUser": "orchestrator", "MySQLTopologyPassword": "orchestrator",
启动orchestrator
cd /usr/local/orchestrator && ./orchestrator --config=/etc/orchestrator.conf.json http &
web端访问地址10.10.30.146:3000。页面效果如下:
后台启动:
nohup /usr/local/orchestrator_v3.2.5/orchestrator -c conf/orchestrator.conf.json http > /data0/orcestrator.log 2>&1 &