1、配置yum源

[root@mgr1 ~]# cat /etc/yum.repos.d/signal18.repo

[signal18]
name=Signal18 repositories
baseurl=http://repo.signal18.io/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

2、yum安装过程

[root@mgr1 ~]# yum install replication-manager-osc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.dal.nexril.net
 * epel: mirrors.yun-idc.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.tuna.tsinghua.edu.cn
github_orchestrator/x86_64/signature                                                                                                                                      |  833 B  00:00:00     
github_orchestrator/x86_64/signature                                                                                                                                      | 1.0 kB  00:00:00 !!! 
github_orchestrator-source/signature                                                                                                                                      |  819 B  00:00:00     
github_orchestrator-source/signature                                                                                                                                      |  951 B  00:00:00 !!! 
signal18                                                                                                                                                                  | 2.9 kB  00:00:00     
signal18/7/x86_64/primary_db                                                                                                                                              | 5.8 kB  00:00:01     
Resolving Dependencies
--> Running transaction check
---> Package replication-manager-osc.x86_64 1560253855:2.0.1_28_gf072-1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================================================================================================================
 Package                                              Arch                                Version                                                    Repository                             Size
=================================================================================================================================================================================================
Installing:
 replication-manager-osc                              x86_64                              1560253855:2.0.1_28_gf072-1                                signal18                               26 M

Transaction Summary
=================================================================================================================================================================================================
Install  1 Package

Total download size: 26 M
Installed size: 192 M
Is this ok [y/d/N]: y
Downloading packages:
replication-manager-osc-2.0.1_28_gf072-1.x86_64.rpm                                                                                                                       |  26 MB  00:22:57     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 1560253855:replication-manager-osc-2.0.1_28_gf072-1.x86_64                                                                                                                    1/1 
  Verifying  : 1560253855:replication-manager-osc-2.0.1_28_gf072-1.x86_64                                                                                                                    1/1 

Installed:
  replication-manager-osc.x86_64 1560253855:2.0.1_28_gf072-1                                                                                                                                     

Complete!

3、配置文件修改

[root@mgr1 ~]# find / -name *.toml
/etc/replication-manager/cluster.d/cluster01.toml
/etc/replication-manager/cluster.d/cluster02.toml
[root@mgr1 ~]# vim /etc/replication-manager/cluster.d/cluster01.toml
[root@mgr1 ~]# mkdir -p /data/replication-manager
[root@mgr1 ~]# mkdir -p /data/share_replication-manager
[root@mgr1 ~]# vim /etc/replication-manager/config.toml                                                                                                                  
[root@mgr1 ~]# cat /etc/replication-manager/config.toml
[Cluster01]
title = "Cluster01"
db-servers-hosts = "192.168.56.14:3306,192.168.56.15:3306,192.168.56.16:3306"
db-servers-prefered-master = "192.168.56.15:3306"
db-servers-credential = "orchestrator:123456"
db-servers-connect-timeout = 1
replication-credential = "orchestrator:123456"
failover-mode = "automatic"


[Default]
monitoring-datadir = "/data/replication-manager"
monitoring-sharedir = "/data/share_replication-manager"
log-level=1
log-file = "/var/log/replication-manager.log"
replication-multi-master = false
replication-multi-tier-slave = false
failover-readonly-state = true
http-server = true
http-bind-address = "0.0.0.0"
http-port = "10001"

4、启动

[root@mgr1 ~]# /etc/init.d/replication-manager restart
Restarting replication-manager (via systemctl):            [  OK  ]
[root@mgr1 ~]#

5、切换测试



replication-manager for MySQL ha 安装测试笔记_测试笔记

replication-manager for MySQL ha 安装测试笔记_测试笔记_02


6、结合中间件maxscale,proxysql

maxscale,proxysql负责读写分离,因为这两个中间件本身就有识别发现主的功能,所以replication-manager负责管理主从failover的主库选举和从库指向新主。
发现replication-manager可以对maxscale,proxysql管理,我觉得这个两个中间件主动发现模式已经够用了,不需要被动接收replication-manager发送信息。


7、特别说明:

shutdown的主节点上线后,replication-manager会自动把其加入集群。
replication-manager不需要在MySQL节点安装客户端


8、我的环境:

mgr安装的是replication-manager

es1-3安装的是MySQL5.7 gtid主从
[root@mgr1 maxscale]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.56.13 mgr

192.168.56.14 es1
192.168.56.15 es2
192.168.56.16 es3
[root@mgr1 maxscale]# 

[root@es3 bin]# cat /etc/my.cnf |grep -v ^#[mysqld]datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

gtid-mode = ON
enforce-gtid-consistency = ON
log-slave-updates = ON
log-bin=mysqlbin
server-id=3
report_host=es3[root@es3 bin]#