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,这个小巧的东西慢慢地在吞食 ...
随机推荐
- maven 仓库配置 pom中repositories属性
文章转自http://blog.csdn.net/zlgydx/article/details/51130627 什么是Maven仓库在不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录 ...
- 一个网工的Linux学习过程
机缘巧合下,在快要毕业时找到了一份网络工程师的工作,对于学习通信工程的我来说,也不算是跨专业就业吧.在入职之前也了解了一下网络工程师的学习路径,网络工程师是从事计算机信息系统的设计.建设.运行和维护工 ...
- 深入浅出的webpack构建工具---ParallelUglifyPlugin优化压缩(十)
webpack默认提供了UglifyJS插件来压缩JS代码,但是它使用的是单线程压缩代码,也就是说多个js文件需要被压缩,它需要一个个文件进行压缩.所以说在正式环境打包压缩代码速度非常慢(因为压缩JS ...
- JS常见的小代码
一:去掉数组里面的重复项. 比如 如下一个数组:var arr = [1,2,4,3,4,3]; 我想要得到数组 [1,2,4,3].为这样的 写一个函数去掉重复的项. var unique = fu ...
- Objective-C 图片处理
图片处理 编码 解码 imageNamed
- Python 远程桌面协议RDPY简介
转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 RDPY 是基于 Twisted Python 实现的微软 RDP 远程桌面协议. RDPY ...
- HDMI接口的PCB设计
1.定义 HDMI的全称是“HighDefinitionMultimedia”,即:高清多媒体接口. HDMI在引脚上和DVI兼容,只是采用了不同的封装.与DVI相比.HDMI可以传输数字音频信号,并 ...
- CF1110E Magic Stones 差分
传送门 将原数组差分一下,设\(d_i = c_{i+1} - c_i\) 考虑在\(i\)位置的一次操作会如何影响差分数组 \(d_{i+1}' = c_{i+1} - (c_{i+1} + c_{ ...
- CF418D Big Problems for Organizers 树的直径、ST表
题目传送门:http://codeforces.com/problemset/problem/418/D 大意:给出一棵有$N$个节点的树,所有树边边权为$1$,给出$M$次询问,每个询问给出$x,y ...
- WebApi 接口返回值不困惑:返回值类型详解。IHttpActionResult、void、HttpResponseMessage、自定义类型
首先声明,我还没有这么强大的功底,只是感觉博主写的很好,就做了一个复制,请别因为这个鄙视我,博主网址:http://www.cnblogs.com/landeanfen/p/5501487.html ...