替代老旧的MHA,流行的方案有以下几种
(1)replication manager
https://github.com/signal18/replication-manager
(2)orchestrator
https://github.com/github/orchestrator
今天以replication manger为例
一、安装
1、安装go
# wget -c https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz
# tar zxvf go1.12.5.linux-amd64.tar.gz -C /usr/local/
# echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile
# source /etc/profile
# go version
输出:go version go1.12.5 linux/amd64,表示安装成功
2、编译replication-manager
# mkdir ~/gocode && cd ~/gocode
# echo "export GOPATH=~/gocode " >> /etc/profile
# source /etc/profile
# mkdir src/github.com/signal18/replication-manager
# git clone https://github.com/signal18/replication-manager.git src/github.com/signal18/replication-manager
#cd src/github.com/signal18/replication-manager
# make osc
# cp build/binaries/replication-manager-osc /usr/local/bin/
# mkdir /usr/share/replication-manager
# cp -r dashboard /usr/share/replication-manager/
二、配置文件
vim /etc/replication-manager/config.toml
[db3307]
title = "db3307"
db-servers-hosts = "192.168.47.30:3307,192.168.47.31:3307,192.168.47.32:3307"
db-servers-prefered-master = "192.168.47.30:3307"
db-servers-credential = "monitor:monitor"
db-servers-connect-timeout = 3
replication-credential = "repl:repl4slave"
failover-mode = "manual"
proxysql=true
proxysql-server="192.168.47.33"
proxysql-port=6033
proxysql-admin-port=6032
proxysql-writer-hostgroup=10
proxysql-reader-hostgroup=11
proxysql-user="monitor"
proxysql-password="monitor"
[Default]
http-server = true
http-bind-address = "0.0.0.0"
http-port = "10001"
monitoring-datadir = "/var/lib/replication-manager"
monitoring-sharedir = "/usr/share/replication-manager"
replication-multi-master = false
replication-multi-tier-slave = false
log-level=3
log-file = "/var/log/replication-manager.log"
failover-readonly-state = true
三、启动
# replication-manager-osc --config /etc/replication-manager/config.toml --cluster=db3307 monitor
web:http://192.168.47.33:10001/