atlas(keepalived)+mysql(MHA)

来源:互联网 发布:忘记mac的开机密码 编辑:程序博客网 时间:2024/05/15 23:47

一.mysql主从复制的配置
master:172.X.X.115
slave:   172.X.X.114
               172.X.X.111
略......(这里我采用yum直接安装的mysql,然后进行一些简单的配置)

二.安装atlas:在slave上 172.X.X.115(master)
安装atlas:
 rpm -ivh Atlas-2.2.1.el5.x86_64.rpm 
问题:

解决方法 yum install openssl*
问题:

解决方法:
修改配置文件 vim /usr/local/mysql-proxy/conf/test.cnf 

验证atlas读写分离,略
三:安装atlas高可用(Keepalived)
master:172.X.X.115(atlas主)
slave:   172.X.X.114(atlas从)
安装前准备依赖包:
http://rpm5.org/files/popt/popt-1.14.tar.gz
http://www.carisma.slowglass.com/~tgr/libnl/files/libnl-3.2.24.tar.gz
yum install keepalived

atlas主配置:
vim /etc/keepalived/keepalived.conf 
global_defs {
   notification_email {
#     acassen@firewall.loc
#     failover@firewall.loc
#     sysadmin@firewall.loc
      duanwenya_jy@163.com
   }
#   notification_email_from Alexandre.Cassen@firewall.loc
    notification_email_from duanwenya_jy@163.com
  smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    mcast_src_ip 172.X.X.115
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
track_script {
    Monitor_Atlas
    }
    virtual_ipaddress {
        172.X.X.113  #虚拟ip
    }
}

提供atlas监控脚本:

# vim /usr/local/mysql-proxy/monitor_atlas.sh

#!/bin/bash

if  [ $(ps -ef |grep ‘mysql-proxy‘ |grep -v ‘grep‘ |wc -l) -eq "0" ];then

    /usr/local/mysql-proxy/bin/mysql-proxyd test start

    sleep 5

    if [ $(ps -ef |grep ‘mysql-proxy‘ |grep -v ‘grep‘ |wc -l) -eq "0"  ];then

        service keepalived stop

        service network restart

    fi

fi

chmod +x  /usr/local/mysql-proxy/monitor_atlas.sh

atlas从配置:

复制以上两个文件到从节点,并修改keepalived配置文件

state BACKUP

mcast_src_ip 172.X.X.114

priority 95

启动keepalived服务以及测试:

主: 172.X.X.115                              从:172.X.X.114
 /etc/init.d/keepalived start             /etc/init.d/keepalived start

主:



从:


连接atlas测试:



测试atlas高可用:
停掉主的keepalived服务后VIP飘到了从上:



四.安装MHA
master:172.X.X.115(node)
slave:   172.X.X.114(manager)
               172.X.X.111(node)
安装mha:
所有节点都要安装
 yum install -y perl-DBD-MySQL  
mha4mysql-node-0.56.tar.gz
tar -zvxf mha4mysql-node-0.56.tar.gz 
cd mha4mysql-node-0.56  perl Makefile.PL  make make install 
此时可能出现很多依赖包缺少,需要安装
管理节点:
 yum install -y perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager 
mha4mysql-manager-0.56.tar.gz
cd mha4mysql-manager-0.56  perl Makefile.PL  make make install 
此时可能出现很多依赖包缺少,需要安装

注意:manager和node节点的版本可以不一样
服务器间,无密码ssh登录
master:172.X.X.115
ssh-keygen -t rsa
cd .ssh/
 ssh-copy-id -i id_rsa.pub root@172.X.X.114
 ssh-copy-id -i id_rsa.pub root@172.X.X.115
每个机子都要做以上设置

检查下SSH公钥免密码登录:


检查MySQL复制:
遇到问题
1:

解决方法:
修改三个数据库的配置文件/etc/my.cnf
binlog-do-db=ZBJ
replicate-ignore-db=mysql
以上两个在三个数据库保持相同,否则MHA 在启动时候会检测过滤规则,如果过滤规则不同,MHA 不启动监控和故障转移。
2

此时在各个数据库已经创建并且对repl进行授权
解决方法:
这个问题有点搞笑,犯了很低级的错误,文件读错了,已解决;
3.

解决方法:
数据库同步出现问题,修改设为主从同步
4

解决方法:
稍后我会上传解决方法
一.mysql主从复制的配置
master:172.18.11.115
slave:   172.18.11.114
               172.18.11.111
略......

二.安装atlas:在slave上 172.18.11.115(master)
安装atlas:
 rpm -ivh Atlas-2.2.1.el5.x86_64.rpm 
问题:
解决方法 yum install openssl*
问题:
解决方法:
修改配置文件 vim /usr/local/mysql-proxy/conf/test.cnf 
验证atlas读写分离,略
三:安装atlas高可用(Keepalived)
master:172.18.11.115(atlas主)
slave:   172.18.11.114(atlas从)
安装前准备依赖包:
http://rpm5.org/files/popt/popt-1.14.tar.gz
http://www.carisma.slowglass.com/~tgr/libnl/files/libnl-3.2.24.tar.gz
yum install keepalived

atlas主配置:
vim /etc/keepalived/keepalived.conf 
global_defs {
   notification_email {
#     acassen@firewall.loc
#     failover@firewall.loc
#     sysadmin@firewall.loc
      duanwenya_jy@163.com
   }
#   notification_email_from Alexandre.Cassen@firewall.loc
    notification_email_from duanwenya_jy@163.com
  smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    mcast_src_ip 172.18.11.115
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
track_script {
    Monitor_Atlas
    }
    virtual_ipaddress {
        172.18.11.113  #虚拟ip
    }
}

提供atlas监控脚本:

# vim /usr/local/mysql-proxy/monitor_atlas.sh

#!/bin/bash

if  [ $(ps -ef |grep ‘mysql-proxy‘ |grep -v ‘grep‘ |wc -l) -eq "0" ];then

    /usr/local/mysql-proxy/bin/mysql-proxyd test start

    sleep 5

    if [ $(ps -ef |grep ‘mysql-proxy‘ |grep -v ‘grep‘ |wc -l) -eq "0"  ];then

        service keepalived stop

        service network restart

    fi

fi

chmod +x  /usr/local/mysql-proxy/monitor_atlas.sh

atlas从配置:

复制以上两个文件到从节点,并修改keepalived配置文件

state BACKUP

mcast_src_ip 172.18.11.114

priority 95

启动keepalived服务以及测试:

主: 172.18.11.115                              从:172.18.11.114
 /etc/init.d/keepalived start             /etc/init.d/keepalived start

主:

从:

连接atlas测试:

测试atlas高可用:
停掉主的keepalived服务后VIP飘到了从上:

四.安装MHA
master:172.18.11.115(node)
slave:   172.18.11.114(manager)
               172.18.11.111(node)
安装mha:
所有节点都要安装
 yum install -y perl-DBD-MySQL  
mha4mysql-node-0.56.tar.gz
tar -zvxf mha4mysql-node-0.56.tar.gz 
cd mha4mysql-node-0.56  perl Makefile.PL  make make install 
此时可能出现很多依赖包缺少,需要安装
管理节点:
 yum install -y perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager 
mha4mysql-manager-0.56.tar.gz
cd mha4mysql-manager-0.56  perl Makefile.PL  make make install 
此时可能出现很多依赖包缺少,需要安装

注意:manager和node节点的版本可以不一样
服务器间,无密码ssh登录
master:172.18.11.115
ssh-keygen -t rsa
cd .ssh/
 ssh-copy-id -i id_rsa.pub root@172.18.11.114
 ssh-copy-id -i id_rsa.pub root@172.18.11.115
每个机子都要做以上设置

检查下SSH公钥免密码登录:

检查MySQL复制:
遇到问题
1:
解决方法:
修改三个数据库的配置文件/etc/my.cnf
binlog-do-db=ZBJ
replicate-ignore-db=mysql
以上两个在三个数据库保持相同,否则MHA 在启动时候会检测过滤规则,如果过滤规则不同,MHA 不启动监控和故障转移。
2
此时在各个数据库已经创建并且对repl进行授权
解决方法:
这个问题有点搞笑,犯了很低级的错误,文件读错了,已解决;
3.
解决方法:
数据库同步出现问题,修改设为主从同步
4
解决方法:
0 0
原创粉丝点击