• 问题

本案例要求熟悉实现MySQL-MMM的架构部署,主要包括以下任务:

  1. 安装依赖包
  2. 安装软件包
  3. 配置MySQL-MMM
  • 方案

使用5台RHEL 6虚拟机,如图-2所示。其中192.168.4.10、192.168.4.11作为MySQL双主服务器,192.168.4.12、192.168.4.13作为主服务器的从服务器,192.168.4.100作为MySQL-MMM架构中管理监控服务器,实现监控MySQL主从服务器的工作状态及决定故障节点的移除或恢复工作,架构搭建完成后使用客户机192.168.4.120进行访问,客户机需要安装MySQL-client软件包。

MySQL-MMM架构部署-LMLPHP

-2

  • 步骤

实现此案例需要按照如下步骤进行。

步骤一:安装MySQL-MMM

1)安装依赖关系(MySQL集群内5台服务器master1,master2,slave1,slave2,monitor)均需安装

[root@master1 ~]# yum -y install gcc* perl-Date-Manip  perl-Date-Manip  perl-Date-Manip perl-XML-DOM-XPath perl-XML-Parser perl-XML-RegExp rrdtool perl-Class-Singleton perl perl-DBD-MySQL perl-Params-Validate perl-MailTools perl-Time-HiRes

.. ..

2)安装MySQL-MMM软件依赖包(MySQL集群内5台服务器master1,master2,slave1,slave2,monitor)均需安装,软件包讲师提供

安装安装Log-Log4perl 类

[root@mysql-master1 ~]# rpm -ivh perl-Log-Log4perl-1.26-1.el6.rf.noarch.rpm

warning: perl-Log-Log4perl-1.26-1.el6.rf.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY

Preparing...                ######################### [100%]

1:perl-Log-Log4perl        ########################  [100%]

安装Algorithm-Diff类

[root@mysql-master1 ~]# tar -zxvf Algorithm-Diff-1.1902.tar.gz  //解压安装包

.. ..

[root@mysql-master1 ~]# cd Algorithm-Diff-1.1902 //切换到安装目录

[root@mysql-master1 Algorithm-Diff-1.1902]# perl  Makefile.PL //生成makefile文件

Checking if your kit is complete...

Looks good

Writing Makefile for Algorithm::Diff

 

[root@mysql-master1 Algorithm-Diff-1.1902]# make && make install //编译,编译安装

.. ..

[root@mysql-master1 Algorithm-Diff-1.1902]# cd //切换到软件包目录

[root@mysql-master1 ~]#

安装Proc-Daemon类

[root@mysql-master1 ~]# tar -zxvf Proc-Daemon-0.03.tar.gz //解压安装包

.. ..

[root@mysql-master1 ~]# cd Proc-Daemon-0.03 //切换到安装目录

[root@mysql-master1 Proc-Daemon-0.03]# perl    Makefile.PL //生成makefile文件

Checking if your kit is complete...

Looks good

Writing Makefile for Proc::Daemon

[root@mysql-master1 Proc-Daemon-0.03]# make && make install //编译,编译安装

.. ..

[root@mysql-master1 Proc-Daemon-0.03]# cd //切换到软件包目录

[root@mysql-master1 ~]#

安装Net-ARP虚拟IP分配工具:

[root@mysql-master1 ~]# gunzip Net-ARP-1.0.8.tgz //使用gunzip解压tgz格式的安装包

[root@mysql-master1 ~]# tar xvf Net-ARP-1.0.8.tar //解压tar安装包

.. ..

[root@mysql-master1 ~]# cd Net-ARP-1.0.8 //切换到安装目录

[root@mysql-master1 Net-ARP-1.0.8]# perl Makefile.PL //生成makefile文件

Module Net::Pcap is required for make test!

Checking if your kit is complete...

Looks good

Writing Makefile for Net::ARP

[root@mysql-master1 Net-ARP-1.0.8]# make && make install //编译,编译安装

.. ..

[root@mysql-master1 Net-ARP-1.0.8]# cd //切换到软件包目录

[root@mysql-master1 ~]#

安装Mysql-MMM软件包:

[root@mysql-master1 ~]# tar xvf mysql-mmm-2.2.1.tar.gz //解压安装包

.. ..

[root@mysql-master1 ~]# cd mysql-mmm-2.2.1 //切换到安装目录

[root@mysql-master1 mysql-mmm-2.2.1]# make && make install //编译,编译安装

.. ..

[root@mysql-master1 mysql-mmm-2.2.1]#

步骤二:修改配置文件

1)修改公共配置文件

本案例中MySQL集群的5台服务器(master1、master2、slave1、slave2、monitor)都需要配置,可以先配好一台后使用scp复制。

[root@master1 ~]# vim  /etc/mysql-mmm/mmm_common.conf

active_master_role writer

 

<host default>

cluster_interface eth0 //设置主从同步的用户

 

pid_path /var/run/mmm_agentd.pid

bin_path /usr/lib/mysql-mmm/

 

 replication_user        slaveuser //设置主从同步的用户

 replication_password    pwd123 //设置主从同步用户密码

 

agent_user agent //mmm-agent控制数据库用户

agent_password agent //mmm-agent控制数据库用户密码

</host>

 

<host master1> //设置第一个主服务器

ip 192.168.4.10 //master1 IP 地址

mode master

peer master2 //指定另外一台主服务器

</host>

 

<host master2> //指定另外一台主服务器

ip 192.168.4.11

mode master

peer master1

</host>

 

<host slave1> //设置第一台从服务器

ip 192.168.4.12 //slave1 IP 地址

mode slave //本段落配置的是slave服务器

</host>

 

<host slave2>

ip 192.168.4.13

mode slave

</host>

 

<role writer> //设置写入服务器工作模式

hosts master1,master2 //提供写的主服务器

ips 192.168.4.200 //设置VIP地址

mode exclusive //排他模式

</role>

 

<role reader> //设置读取服务器工作模式

hosts slave1,slave2 //提供读的服务器信息

ips 192.168.4.201,192.168.4.202 //多个虚拟IP

mode balanced //均衡模式

</role>

[root@master1 ~]#

2)修改管理主机配置文件(monitor主机配置)

[root@monitor ~]# vim /etc/mysql-mmm/mmm_mon.conf

include mmm_common.conf

 

<monitor>

ip 192.168.4.100 //设置管理主机IP地址

pid_path /var/run/mmm_mond.pid

bin_path /usr/lib/mysql-mmm/

status_path /var/lib/misc/mmm_mond.status

ping_ips 192.168.4.10,192.168.4.11,192.168.4.12,192.168.4.13

//设置被监控数据库

</monitor>

 

<host default>

monitor_user monitor //监控数据库MySQL用户
monitor_password monitor //监控数据库MySQL用户密码

</host>

 

debug 0

[root@monitor ~]#

3)修改客户端配置文件

master1配置

[root@master1 ~]# cat /etc/mysql-mmm/mmm_agent.conf

include mmm_common.conf

this master1

master2配置

[root@master2 ~]# cat /etc/mysql-mmm/mmm_agent.conf

include mmm_common.conf

this master2

slave1配置

[root@slave1 ~]# cat /etc/mysql-mmm/mmm_agent.conf

include mmm_common.conf

this slave1

slave2配置

[root@slave2 ~]# cat /etc/mysql-mmm/mmm_agent.conf

include mmm_common.conf

this slave2

06-27 07:45