码迷,mamicode.com
首页 > 数据库 > 详细

MySQL-MMM架构部署

时间:2016-03-17 02:15:12      阅读:565      评论:0      收藏:0      [点我收藏+]

标签:mysql-mmm架构部署

MySQL-MMM架构部署

2.1 问题

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

  1. 安装依赖包

  2. 安装软件包

  3. 配置MySQL-MMM

2.2 方案

使用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软件包。

技术分享

图-2

2.3 步骤

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

步骤一安装MySQL-MMM

1安装依赖关系MySQL集群内5台服务器master1master2slave1slave2monitor均需安装

  1. [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台服务器master1master2slave1slave2monitor均需安装软件包讲师提供

安装安装Log-Log4perl 类

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

安装Algorithm-Diff类

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

  2. .. ..

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

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

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

  2. .. ..

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

安装Proc-Daemon类

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

  2. .. ..

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

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

  5. Checking if your kit is complete...

  6. Looks good

  7. Writing Makefile for Proc::Daemon

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

  9. .. ..

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


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

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

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

  3. .. ..

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

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

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

  2. .. ..

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

安装Mysql-MMM软件包

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

  2. .. ..

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

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

步骤二修改配置文件

1修改公共配置文件

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

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

  2. active_master_role    writer


  3. <host default>

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


  5.     pid_path                /var/run/mmm_agentd.pid

  6.     bin_path                /usr/lib/mysql-mmm/


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

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


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

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

  11. </host>


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

  13.     ip                    192.168.4.10            //master1 IP 地址

  14.     mode                    master

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

  16. </host>


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

  18.     ip                    192.168.4.11

  19.     mode                    master

  20.     peer                    master1

  21. </host>


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

  23.     ip                    192.168.4.12            //slave1 IP 地址

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

  25. </host>


  26. <host slave2>

  27.     ip                    192.168.4.13

  28.     mode                    slave

  29. </host>


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

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

  32.     ips                    192.168.4.200        //设置VIP地址

  33.     mode                    exclusive            //排他模式

  34. </role>


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

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

  37.     ips                    192.168.4.201,192.168.4.202    //多个虚拟IP

  38.     mode                    balanced                        //均衡模式

  39. </role>

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

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

  2. include mmm_common.conf


  3. <monitor>

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

  5.     pid_path                /var/run/mmm_mond.pid

  6.     bin_path                /usr/lib/mysql-mmm/

  7.     status_path                /var/lib/misc/mmm_mond.status

  8.     ping_ips                192.168.4.10,192.168.4.11,192.168.4.12,192.168.4.13

  9.                                                 //设置被监控数据库

  10. </monitor>


  11. <host default>

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

  13. </host>


  14. debug 0

3修改客户端配置文件

master1配置

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

  2. include mmm_common.conf

  3. this master1

master2配置

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

  2. include mmm_common.conf

  3. this master2

slave1配置

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

  2. include mmm_common.conf

  3. this slave1

slave2配置

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

3 MySQL-MMM架构使用

3.1 问题

本案例要求基于普通版的MySQL服务器改造MMM架构完成以下任务操作

  • 启动MMM集群架构

  • 设置集群中服务器为online状态

3.2 方案

MySQL-MMM架构部署完成后需要启动数据库端启动mmm-agent进程管理端启动mmm-monitor进程启动完成后设置所有数据库主机状态为online。

3.3 步骤

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

步骤一启动MMM集群架构

1启动mmm-agent进程

master1操作

  1. [root@master1 ~]# /etc/init.d/mysql-mmm-agent start

master2操作

  1. [root@master2 ~]# /etc/init.d/mysql-mmm-agent start

slave1操作

  1. [root@master2 ~]# /etc/init.d/mysql-mmm-agent start

slave2操作

  1. [root@slave2 ~]# /etc/init.d/mysql-mmm-agent start

2启动mmm-monitor进程

monitor主机操作

  1. [root@monitor ~]# /etc/init.d/mysql-mmm-monitor start

步骤二设置集群中服务器为online状态

控制命令只能在管理端monitor服务器上执行。

查看当前集群中各服务器状态

  1. [root@monitor ~]# mmm_control show

设置4台数据库主机状态为online

  1. [root@monitor ~]# mmm_control set_online master1

  2. OK: State of ‘master1‘ changed to ONLINE. Now you can wait some time and check its new roles!

  3. [root@monitor ~]# mmm_control set_online master2

  4. OK: State of ‘master2‘ changed to ONLINE. Now you can wait some time and check its new roles!

  5. [root@monitor ~]# mmm_control set_online slave1

  6. OK: State of ‘slave1‘ changed to ONLINE. Now you can wait some time and check its new roles!

  7. [root@monitor ~]# mmm_control set_online slave2

再次查看当前集群中各服务器状态

  1. [root@monitor ~]# mmm_control show

  2. master1(192.168.4.10) master/ONLINE. Roles: writer(192.168.4.200)

  3. master2(192.168.4.11) master/ONLINE. Roles:

  4. slave1(192.168.4.12) slave/ONLINE. Roles: reader(192.168.4.201)

  5. slave2(192.168.4.13) slave/ONLINE. Roles: reader(192.168.4.202)

步骤三测试MySQL-MMM架构

1客户机安装MySQL-client软件包

  1. [root@client ~]# tar xvf MySQL-5.6.15-1.el6.x86_64.rpm-bundle.tar

  2. .. ..

  3. [root@client ~]# rpm -ivh MySQL-client-5.6.15-1.el6.x86_64.rpm

2)MySQL-MMM虚拟IP访问测试

  1. [root@client ~]# mysql -h192.168.4.200 -uroot -ppwd123 -e "show databases"

  2. Warning: Using a password on the command line interface can be insecure.

  3. +--------------------+

  4. | Database           |

  5. +--------------------+

  6. | information_schema |

  7. | mysql              |

  8. | performance_schema |

  9. | tarena             |

  10. | test               |

  11. +--------------------+

  12. [root@client ~]#


  13. [root@client ~]# mysql -h192.168.4.200 -uroot -ppwd123 -e "show databases"

  14. Warning: Using a password on the command line interface can be insecure.

  15. +--------------------+

  16. | Database           |

  17. +--------------------+

  18. | information_schema |

  19. | mysql              |

  20. | performance_schema |

  21. | tarena             |

  22. | test               |

  23. +--------------------+

  24. [root@client ~]#


  25. [root@client ~]# mysql -h192.168.4.202 -uroot -ppwd123 -e "show databases"

  26. Warning: Using a password on the command line interface can be insecure.

  27. +--------------------+

  28. | Database           |

  29. +--------------------+

  30. | information_schema |

  31. | mysql              |

  32. | performance_schema |

  33. | tarena             |

  34. | test               |

  35. +--------------------+

2主数据库宕机测试

  1. [root@master1 ~]# service mysql stop                    //停止master1上服务

  2. Shutting down MySQL....                                    [确定]

  3. [root@master1 ~]#


  4. [root@monitor ~]# mmm_control show                        //查看集群内服务器状态

通过输出信息可以看到虚拟IP从master1切换到master2

  1. master1(192.168.4.10) master/HARD_OFFLINE. Roles:

  2. master2(192.168.4.11) master/ONLINE. Roles: writer(192.168.4.200)

  3. slave1(192.168.4.12) slave/ONLINE. Roles: reader(192.168.4.201)

  4. slave2(192.168.4.13) slave/ONLINE. Roles: reader(192.168.4.202)

  5. [root@monitor ~]#


  6. [root@client ~]# mysql -h192.168.4.200 -uroot -ppwd123 -e "show databases"    //访问虚拟IP测试

  7. Warning: Using a password on the command line interface can be insecure.

  8. +--------------------+

  9. | Database           |

  10. +--------------------+

  11. | information_schema |

  12. | mysql              |

  13. | performance_schema |

  14. | tarena             |

  15. | test               |

  16. +--------------------+


MySQL-MMM架构部署

标签:mysql-mmm架构部署

原文地址:http://liangzai818.blog.51cto.com/10003446/1751883

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!