设为首页 加入收藏

TOP

MySQL高可用MMM安装部署以及故障转移详细资料汇总(一)
2015-11-21 01:54:49 来源: 作者: 【 】 浏览:2
Tags:MySQL 可用 MMM 安装 部署 以及 故障 转移 详细 资料 汇总

?

1, mmm简介

MMM(Master-Masterreplication manager for MySQL)是一套支持双主故障切换和双主日常管理的脚本程序。MMM使用Perl语言开发,主要用来监控和管理MySQL Master-Master(双主)复制,虽然叫做双主复制,但是业务上同一时刻只允许对一个主进行写入,另一台备选主上提供部分读服务,以加速在主主切换时刻备选主的预热,可以说MMM这套脚本程序一方面实现了故障切换的功能,另一方面其内部附加的工具脚本也可以实现多个slave的read负载均衡。

?

MMM提供了自动和手动两种方式移除一组服务器中复制延迟较高的服务器的虚拟ip,同时它还可以备份数据,实现两节点之间的数据同步等。由于MMM无法完全的保证数据一致性,所以MMM适用于对数据的一致性要求不是很高,但是又想最大程度的保证业务可用性的场景。对于那些对数据的一致性要求很高的业务,非常不建议采用MMM这种高可用架构。

?

如下图所示:

\

?

?

2,准备好3台mysql服务器

2.1 服务器准备

可以用虚拟机来安装mysql,因为以前做mha实验的时候,已经安装好了mysql,所以这个可以直接在现在已经有的3台mysql上面来部署mmm软件。

Package name

Description

mysql-mmm-agent

MySQL-MMM Agent

mysql-mmm-monitor

MySQL-MMM Monitor

mysql-mmm-tools

MySQL-MMM Tools

?

Mysql主从搭建:http://www.2cto.com/database/201503/386265.html

?

2.2 配置数据库配置

db1(192.168.52.129): vim/etc/my.cnf

server-id=129

log_slave_updates = 1

auto-increment-increment = 2 #每次增长2

auto-increment-offset = 1 #设置自动增长的字段的偏移量,即初始值为1

?

db2(192.168.52.129): vim/etc/my.cnf

server-id=230

log_slave_updates = 1

auto-increment-increment = 2 #每次增长2

auto-increment-offset = 2 #设置自动增长的字段的偏移量,即初始值为1

?

db3(192.168.52.128): vim/etc/my.cnf

server-id=331

log_slave_updates = 1

?

3,安装mmm

3.1 下载mmm

3.2 准备好perl以及lib包环境

yum install -yperl-*
yum install -y libart_lgpl.x86_64
yum install -y mysql-mmm.noarch fail
yum install -y rrdtool.x86_64
yum install -y rrdtool-perl.x86_64

?

可以可以直接运行install_mmm.sh脚本来安装

3.3 开始安装mmm

按照官网标准配置,mmm是需要安装在一台单独服务器上面,但是这里实验为了节省资源,所以就可以将mmm安装部署在一台slave上面,部署在192.168.52.131上面。

?

mv :mmm2:mysql-mmm-2.2.1.tar.gzmysql-mmm-2.2.1.tar.gz

tar -xvf mysql-mmm-2.2.1.tar.gz

cd mysql-mmm-2.2.1

make

make install

?

mmm安装后的拓扑结构如下:

目录                                                            介绍
/usr/lib64/perl5/vendor_perl/                   MMM使用的主要perl模块
/usr/lib/mysql-mmm                                      MMM使用的主要脚本
/usr/sbin                                               MMM使用的主要命令的路径
/etc/init.d/                                            MMM的agent和monitor启动服务的目录
/etc/mysql-mmm                                          MMM配置文件的路径,默认所以的配置文件位于该目录下
/var/log/mysql-mmm                                      默认的MMM保存日志的位置

?

?

到这里已经完成了MMM的基本需求,接下来需要配置具体的配置文件,其中mmm_common.conf,mmm_agent.conf为agent端的配置文件,mmm_mon.conf为monitor端的配置文件。

?

将mmm_common.conf复制到另外db1、db2上面(因为db3和monitor是一台,所以不用复制了)。

?

4,配置mysql库数据节点的mmm配置

4.1在db3上配置mmm_common.conf

需要在db1、db2、db3上分配配置agent端配置文件,我这里在db3上安装的mmm,所以直接在db3上编辑操作:

vim/etc/mysql-mmm/mmm_common.conf

 [root@oraclem1 ~]# cat /etc/mysql-mmm/mmm_common.conf 
active_master_role  writer

  
          cluster_interface              eth0
          pid_path                                 /var/run/mmm_agentd.pid
          bin_path                                 /usr/lib/mysql-mmm/
    replication_user        repl
    replication_password    repl_1234
          agent_user                                         mmm_agent
          agent_password                           mmm_agent_1234
 
 

  
          ip                                                           192.168.52.129
          mode                                               master
          peer                                               db2
 
 

  
          ip                                                           192.168.52.128
          mode                                               master
          peer                                               db1
 
 

  
          ip                                                           192.168.52.131
          mode                                               slave
 
 
 

  
          hosts                                              db1, db2
          ips                                                          192.168.52.120
          mode                                               exclusive
 
 

  
          hosts                                              db1, db2, db3
          ips                                                          192.168.52.129, 192.168.52.128, 192.168.52.131
          mode                                               balanced
 
 
[root@oraclem1 ~]#

?

其中 replication_user 用于检查复制的用户, agent_user 为agent的用户, mode 标明是否为主或者备选主,或者从库。 mode exclusive 主为独占模式,同一时刻只能有一个主, 中hosts表示目前的主库和备选主的真实主机ip或者主机名, ips 为对外提供的虚拟机ip地址, 中hosts代表从库真实的ip和主机名, ips 代表从库的虚拟ip地址。

?

由于db2和db3两台主机也要配置agent配置文件,我们直接把mmm_common.conf从db1拷贝到db2和db3两台主机的/etc/mysql-mmm下。

4.2 将mmm_common.conf复制到db1和db2上面

scp /etc/mysql-mmm/mmm

首页 上一页 1 2 3 4 5 6 7 下一页 尾页 1/8/8
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇MySQL连续数统计 下一篇MySQL查询结果为乱码

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: