MMM配置环境

MMM-monitor 192.168.78.128 (M1/M128)

master1:192.168.78.


1设置hosts解析

三台都需要能彼此解析

追加hosts文件 /etc/hosts

192.168.78.128 M1

192.168.78.129 M2

192.168.78.130 slave1


2配置主从服务器账号

grant replication slave, replication client on *.* to 'repl'@'%' identified by 'repl';

grant process,super, replication client on *.* to 'mmm_agent'@'%' identified by '123456';

grant replication client on *.* to 'mmm_monitor'@'%' identified by '123456';


3安装MMM

三台上分别配置perl源

rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

安装MMM(测试用的,所以是rpm包,不要用在生产环境)

yum -y install mysql-mmmm*

查看安装

rpm -qa|grep mysql-mmm

mmm,anget,monitor,tools


4配置MMM

cd /etc/mysql-mmm

修改mmm_common.conf同步到三台机器

vim mmm_common.conf 


active_master_role      writer


    cluster_interface       eth0

    pid_path                /var/run/mysql-mmm/mmm_agentd.pid

    bin_path                /usr/libexec/mysql-mmm/

    replication_user        repl

    replication_password    repl

    agent_user              mmm_agent

    agent_password          123456


    ip      192.168.78.128

    mode    master

    peer    M1


    ip      192.168.78.129

    mode    master

    peer    M2


    ip      192.168.78.130

    mode    slave

    peer    slave1


    hosts   M1,M2

    ips     192.168.78.140

    mode    exclusive


    hosts   M1,M2,slave1

    ips     192.168.78.138, 192.168.78.139

    mode    balanced


for i in  M2 slave1;do scp /etc/mysql-mmm/mmm_common.conf $i:/etc/mysql-mmm/;done


分别修改mmm_agent.conf

vim mmm_agent.conf

include mmm_common.conf

# The 'this' variable refers to this server.  Proper operation requires

# that 'this' server (db1 by default), as well as all other servers, have the

# proper IP addresses set in mmm_common.conf.

this M1


配置mysql_mon.conf(三台上分别配置,但只能启动一台监控)

[root@M128 mysql-mmm]# vim mmm_mon.conf 

include mmm_common.conf


    ip                  127.0.0.1

    pid_path            /var/run/mysql-mmm/mmm_mond.pid

    bin_path            /usr/libexec/mysql-mmm

    status_path         /var/lib/mysql-mmm/mmm_mond.status

    ping_ips            192.168.78.128, 192.168.78.129, 192.168.78.130

    auto_set_online     10


    # The kill_host_bin does not exist by default, though the monitor will

    # throw a warning about it missing.  See the section 5.10 "Kill Host

    # Functionality" in the PDF documentation.

    #

    # kill_host_bin     /usr/libexec/mysql-mmm/monitor/kill_host

    #


    monitor_user        mmm_monitor

    monitor_password    123456

debug 0


5启动MMM

三台均启动agent端

/etc/init.d/mysql-mmm-agent start

监控端启动

/etc/init.d/mysql-mmm-monitor start

正常启动后的进程如下:

agent端

[root@M130 mysql-mmm]# ps -ef|grep mmm

root     15686     1  0 02:44 ?        00:00:00 mmm_agentd

root     15688 15686  0 02:44 ?        00:00:44 mmm_agentd

root     54389 12494  0 18:47 pts/0    00:00:00 grep mmm

monitor端

[root@M129 ~]# ps -ef|grep mmm

root     27681     1  0 18:51 ?        00:00:00 mmm_mond

root     27682 27681  9 18:51 ?        00:00:01 mmm_mond

root     27712 27682  1 18:51 ?        00:00:00 perl /usr/libexec/mysql-mmm/monitor/checker ping_ip

root     27715 27682  2 18:51 ?        00:00:00 perl /usr/libexec/mysql-mmm/monitor/checker mysql

root     27717 27682  2 18:51 ?        00:00:00 perl /usr/libexec/mysql-mmm/monitor/checker ping

root     27719 27682  3 18:51 ?        00:00:00 perl /usr/libexec/mysql-mmm/monitor/checker rep_backlog

root     27721 27682  2 18:51 ?        00:00:00 perl /usr/libexec/mysql-mmm/monitor/checker rep_threads

root     27739 35397  0 18:51 pts/1    00:00:00 grep mmm

root     35239     1  0 02:44 ?        00:00:00 mmm_agentd

root     35241 35239  0 02:44 ?        00:00:50 mmm_agentd

[root@M129 ~]# 

6查看状态

[root@M128 mysql-mmm]# mmm_control show

  M1(192.168.78.128) master/ONLINE. Roles: reader(192.168.78.138)

  M2(192.168.78.129) master/ONLINE. Roles: writer(192.168.78.140)

  slave1(192.168.78.130) slave/ONLINE. Roles: reader(192.168.78.139)

[root@M128 mysql-mmm]# mmm_control checks all

M1      ping         [last change: 2015/10/20 18:51:21]  OK

M1      mysql        [last change: 2015/10/20 18:51:21]  OK

M1      rep_threads  [last change: 2015/10/20 18:51:21]  OK

M1      rep_backlog  [last change: 2015/10/20 18:51:21]  OK: Backlog is null

slave1  ping         [last change: 2015/10/20 18:51:21]  OK

slave1  mysql        [last change: 2015/10/20 18:51:21]  OK

slave1  rep_threads  [last change: 2015/10/20 18:51:21]  OK

slave1  rep_backlog  [last change: 2015/10/20 18:51:21]  OK: Backlog is null

M2      ping         [last change: 2015/10/20 18:51:21]  OK

M2      mysql        [last change: 2015/10/20 18:51:21]  OK

M2      rep_threads  [last change: 2015/10/20 18:51:21]  OK

M2      rep_backlog  [last change: 2015/10/20 18:51:21]  OK: Backlog is null


7删除RPM包安装的MMM

yum remove mysql-mmm*


8总结:

MMM集群的坑比较多,只做测试,不用在生产环境