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:

1.3 启动HAProxy服务
[root@HAProxy_247 haproxy]# service haproxy start

1.4 访问HAProxy的网页
http://localhost:8899/admin-status
用户名密码查看配置文件设置
1.5 客户端测试

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 for keepalived
vrrp_script chk_haproxy {
script "/etc/keepalived/chk.sh"
interval
}
vrrp_instance VI_1 {
state BACKUP
nopreempt
interface eth0
virtual_router_id 51 #定义分组ID,同一组ID相同
priority 100 #优先级
advert_int
authentication {
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 for keepalived
vrrp_script chk_haproxy {
script "/etc/keepalived/chk.sh"
interval
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 99
advert_int
authentication {
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/bash
if [ $(ps -C haproxy --no-header | wc -l) -eq ]; then #判断haproxy是否存活,如果宕了,停止keepalived服务
/etc/init.d/keepalived stop
fi
chmod +x chk.sh
2.6 开启keepalived并验证
service keepalived restart


在247上关闭HAProxy后:


2.7 客户端测试

MHA中failover后,进入HAProxy配置文件中将new_master从HAProxy分发列表中剔除
HAProxy+keepalived+MySQL 实现MHA中slave集群负载均衡的高可用的更多相关文章
- MySQL架构之keepalived+haproxy+mysql 实现MHA中slave集群负载均衡的高可用(原创)
MySQL的高可用方案一般有如下几种:keepalived+双主,MHA,PXC,MMM,Heartbeat+DRBD等,比较常用的是keepalived+双主,MHA和PXC. HAProxy是一款 ...
- 本文介绍如何使用 Docker Swarm 来部署 Nebula Graph 集群,并部署客户端负载均衡和高可用
本文作者系:视野金服工程师 | 吴海胜 首发于 Nebula Graph 论坛:https://discuss.nebula-graph.com.cn/t/topic/1388 一.前言 本文介绍如何 ...
- 利用ansible书写playbook搭建HAProxy+Keepalived+PXC负载均衡和高可用的PXC环境续
ansible.playbook.haproxy.keepalived.PXC haproxy+keepalived双主模式调度pxc集群 HAProxy介绍 反向代理服务器,支持双机热备支持虚拟主机 ...
- CentOS7Linux中服务器LVS负载均衡、高可用集群搭建(NAT、DR);
目录 集群 声明 集群概念 集群特性 Web服务器并发相应瓶颈 集群的分类 LB实现方法: LVS集群 负载调度器 服务器池 共享存储 LVS负载均衡的三种模式 负载均衡 集群 声明 文档不断更新中. ...
- Apache shiro集群实现 (五)分布式集群系统下的高可用session解决方案
Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro ...
- lunix 集群,负载均衡,location
nginx location语法: location支持的语法优先级: 复制代码location匹配顺序 # www.s14hanju.com/1.location = / { 我是代码1} ...
- 集群 & 负载均衡
集群(Cluster) 指一组计算机系统构成一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信,实现分布式计算.在客户端看来就像是只有一个服务器.集群可以利用多个计算机进行并行计算从而获得很高 ...
- 图文解说:Nginx+tomcat配置集群负载均衡
图文解说:Nginx+tomcat配置集群负载均衡 博客分类: appserver nginxTomcatUbuntuLinux网络应用 作者:niumd Blog:http://ari.iteye ...
- 转】Nginx+tomcat配置集群负载均衡
原博文出自于:http://blog.csdn.net/bruce_6/article/details/38228299 感谢! 相信很多人都听过nginx,这个小巧的东西慢慢地在吞食 ...
随机推荐
- day02---编程语言、python解释器以及变量
计算机编程语言分类: 机器语言 直接用计算机能理解的二进制指令编写程序,来直接控制硬件.(用机器语言编写的程序称为目标程序) 优点:执行效率高,属于计算机最底层语言 缺点:开发效率低.跨平台性差 汇编 ...
- 配置进程外的Session
1.Session保存在SQLServer中配置方法 1)运行.NetFramework安装目录下对应版本的aspnet_regsql.exe 来创建相关的数据库.表和存储过程等,比如: C:\Win ...
- 十行代码--用python写一个USB病毒 (知乎 DeepWeaver)
昨天在上厕所的时候突发奇想,当你把usb插进去的时候,能不能自动执行usb上的程序.查了一下,发现只有windows上可以,具体的大家也可以搜索(搜索关键词usb autorun)到.但是,如果我想, ...
- ssl协议
在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了.本文追本溯源围绕这个模式谈一谈. 1.首先解释一下上面的几个名词: https:在http(超文本传输协 ...
- java,javascript中的url编码
真实场景 url示例如下 http://localhost:31956/Login/Auto?Token=e8a67a9f-c062-4964-b703-d79f29c8b64e&Return ...
- C#的delegate简单练习
delegate中文的意思为委托. 在很久之前,Insus.NET有写过一篇<用一个简单的例子来演绎事件委托>http://www.cnblogs.com/insus/p/3732075. ...
- flask多app和栈的应用
一.简介 flask的蓝图可以实现url的分发,当有多个app时也可以利用app进行url分发,这里介绍下使用方式和内部原理以及栈的应用. 二.多app使用 使用示例 from werkzeu ...
- PCB之PASTE助焊层和SOLDER阻焊层
1.PASTE为焊接层,用于SMT贴片元件的焊接,对应的图形为钢网(钢网上的小孔): 2.SOLDER为阻焊层,它代表的是绿油的涂抹区域,且为负片输出(负片输出指的是图形以外的区域为有效区域): PA ...
- java 代码获取视频时长
package test; import it.sauronsoftware.jave.Encoder; import it.sauronsoftware.jave.MultimediaInfo; i ...
- 手机APP自动化之uiautomator2 +python3 UI自动化
题记: 之前一直用APPium直到用安卓9.0 发现uiautomatorviewer不支持安卓 9.0,点击截屏按钮 一直报错,百度很久解决方法都不可以,偶然间看见有人推荐:uiautomator ...