mysql高可用之MHA(补充3)--管理多组主从复制

来源:互联网 发布:python能做什么 编辑:程序博客网 时间:2024/05/03 19:20

前面我们了解了mha管理一组主从,然而在实际生产环境中不同的应用会使用不同的数据库,因此会有多组主从复制,我们可以使用一个mha manager 来管理多组主从复制数据库。我们只需要创建一个全局配置文件,你可以将这几组中相同的配置信息写到全局配置文件中,如用户名、密码等,而其他的配置信息单独写到每个app*.cnf中。

官网介绍:

https://code.google.com/p/mysql-master-ha/wiki/Configuration

下面我们就来介绍下:

mha架构:


如上:我们使用一个mha manager节点来管理3组主从复制,我这面只配置两组,每组具体的配置请参考前面的博文,在此只介绍重点。

10.10.10.59 mha manager

APP1:

10.10.10.56 master

10.10.10.57 slave1

10.10.10.58 slave2

10.10.10.60 vip

APP2:

10.10.10.61 master

10.10.10.62 slave1

10.10.10.63 slave2

10.10.10.64 vip

1.创建全局配置文件masterha_default.cnf

mkdir -p /etc/mhacp /usr/local/src/mha4mysql-manager-0.56/samples/conf/masterha_default.cnf /etc/mha/ln -s /etc/mha/masterha_default.cnf /etc/masterha_default.cnf#将相同的配置信息写到全局配置文件中[root@rd-mysql-test4 mha]# cat masterha_default.cnf [server default]master_binlog_dir=/data/mysqlpassword=123456ping_interval=1remote_workdir=/tmprepl_password=123456repl_user=repreport_script=/usr/local/bin/send_reportssh_port=22ssh_user=rootuser=mha
注意:masterha_default.cnf一定要在/etc下,否则检查过程中会找不到这个文件,为将所有的mha相关配置文件放在一起方便管理,我做了软连接。
2.创建每个应用对应的配置文件app*.conf

app1.conf

[root@rd-mysql-test4 mha]# cat /etc/mha/app1.cnf [server default]manager_log=/var/log/masterha/app1/manager.logmanager_workdir=/var/log/masterha/app1master_ip_failover_script=/usr/local/bin/master_ip_failover_app1master_ip_online_change_script=/usr/local/bin/master_ip_online_change_app1[server1]hostname=10.10.10.56port=3306[server2]candidate_master=1check_repl_delay=0hostname=10.10.10.57port=3306[server3]hostname=10.10.10.58port=3306
app2.conf

[root@rd-mysql-test4 mha]# cat /etc/mha/app2.cnf [server default]manager_log=/var/log/masterha/app2/manager.logmanager_workdir=/var/log/masterha/app2master_ip_failover_script=/usr/local/bin/master_ip_failover_app2master_ip_online_change_script=/usr/local/bin/master_ip_online_change_app2[server1]hostname=10.10.10.61port=3306[server2]candidate_master=1check_repl_delay=0hostname=10.10.10.62port=3306[server3]hostname=10.10.10.63port=3306
注意:每个应用的master_ip_failover_script和master_ip_online_change_script对应的脚本不一样,因为我们在迁移过程中使用vip来达到高可用的目的,master_ip_failover在自动failover过程中使vip会自动漂移,而master_ip_online_change在在线迁移过程中使vip漂移。因此在多个主从复制组我们使用多个不同的脚本来管理不同的ip。

3.检查ssh配置

masterha_check_ssh --conf=/etc/mha/app1.cnf

masterha_check_ssh --conf=/etc/mha/app2.cnf

注:(1)全局配置文件在检测过程中会自动检查,如果找不到全局配置文件,就会读取指定的应用配置文件。

(2)每个主从复制组都需要和mha manager节点配置ssh无密码登录,但组与组之前不要配置。

4.检查replication配置

masterha_check_repl --conf=/etc/mha/app1.cnf

masterha_check_repl --conf=/etc/mha/app2.cnf

5.启动监控

nohup masterha_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/masterha/app1/manager.log 2>&1 &

nohup masterha_manager --conf=/etc/mha/app2.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/masterha/app1/manager.log 2>&1 &

1 0