mysql mha 负载均衡_HAProxy+keepalived+MySQL 实现MHA中slave集群负载均衡的高可用

HAProxy+keepalived+MySQL实现MHA中slave集群的负载均衡的高可用

Ip地址划分:

240    mysql_b2

242    mysql_b1

247    haproxy1

249    haproxy2

243    VIP

248    client

1、安装HAProxy

yum install gcc -y

make TARGET=linux26 PREFIX=/usr/local/haproxy

make install PREFIX=/usr/local/haproxy

cp /usr/src/haproxy/haproxy-1.5.3/examples/haproxy.cfg /usr/local/haproxy/

cp /usr/src/haproxy/haproxy-1.5.3/examples/haproxy.init /etc/init.d/haproxy

chmod 755 /etc/init.d/haproxy

ln -s /usr/local/haproxy/sbin/* /usr/sbin/

mkdir /etc/haproxy

mkdir /usr/share/haproxy

ln -s /usr/local/haproxy/haproxy.cfg /etc/haproxy/

cd ..

1.2 设置配置文件

1.2.1 拷贝配置文件

[root@HAProxy_247 haproxy]# cp haproxy.cfg  /usr/local/haproxy/

cp: overwrite `/usr/local/haproxy/haproxy.cfg'? y

1.2.2  编辑配置文件

[root@HAProxy_247 haproxy]# vim /usr/local/haproxy/haproxy.cfg

注意修改RS的IP:

d16507e684b5b4fb7177350d2e8cf9c1.png

1.3 启动HAProxy服务

[root@HAProxy_247 haproxy]# service haproxy start

63ce1dc1da7a7d0579a610acf977b7d3.png

1.4 访问HAProxy的网页

用户名密码查看配置文件设置

1.5 客户端测试

c6a6bb3cf8aeadf69ac3631e4c5128b2.png

2、安装配置keepalived

2.1 修改yum仓库

[aa]

baseurl=file:///mnt/LoadBalancer

gpgcheck=0

ebabled=1

2.2 安装keepalived

yum install keepalived -y

2.3 修改247上配置文件(覆盖原配置文件即可)

注:keepalived工作机制--同一组(virtual_router_id)的keepalived互相检测存活,优先级高的作用时,优先级低的沉睡。当优先级高的宕掉时,优先级低的顶替其工作。

vim /etc/keepalived/keepalived.conf! Configuration File forkeepalived

vrrp_script chk_haproxy {

script"/etc/keepalived/chk.sh"interval2}

vrrp_instance VI_1 {

state BACKUP

nopreempt

interface eth0

virtual_router_id51 #定义分组ID,同一组ID相同

priority 100    #优先级advert_int1authentication {

auth_type PASS

auth_pass abcd

}

virtual_ipaddress {192.168.18.243 #VIP}

track_script {

chk_haproxy

}

notify_backup"/etc/init.d/haproxy restart" //切换主/备/出错时执行的脚本

notify_fault"/etc/init.d/haproxy stop"}

2.4 修改249上的主配置文件

! Configuration File forkeepalived

vrrp_script chk_haproxy {

script"/etc/keepalived/chk.sh"interval2}

vrrp_instance VI_1 {

state BACKUP

interface eth0

virtual_router_id51

priority 99advert_int1authentication {

auth_type PASS

auth_pass abcd

}

virtual_ipaddress {192.168.18.243}

track_script {

chk_haproxy

}

notify_backup"/etc/init.d/haproxy restart"notify_fault"/etc/init.d/haproxy stop"}

2.5 编写脚本,并放到指定位置

vim  /etc/keepalived/chk.sh

#!/bin/bashif [ $(ps -C haproxy --no-header | wc -l) -eq 0 ]; then #判断haproxy是否存活,如果宕了,停止keepalived服务

/etc/init.d/keepalived stopfi

chmod +x chk.sh

2.6 开启keepalived并验证

service keepalived restart

cd326456491f39ea05ff51ac33449702.png

d739d61c9087deafa52ed12babeb0608.png

在247上关闭HAProxy后:

eeb7b8a8724ee1e436b500036083229e.png

b1f3484782e9d816d457f3a2cf2555ae.png

2.7 客户端测试

0f8e0d118cfcebdbace2e35857941f92.png

MHA中failover后,进入HAProxy配置文件中将new_master从HAProxy分发列表中剔除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值