HAProxy + Keepalived实现MySQL的高可用负载均衡
HAProxy+Keepalived实现MySQL的高可用负载均衡
当前环境说明
A:10.10.99.180(MySQLMaster)----|
|________VIP(10.10.99.103)
B:10.10.99.108(MySQLSlave)------|
C:10.10.105.11(MySQLSlave)
D:10.10.105.23(HAProxy+Keepalived)
E:10.10.105.24(HAProxy+Keepalived)
VIP:10.10.105.30
如下操作在10.10.105.23和10.10.105.24上都要进行
1、调整内核参数,添加非本地IP绑定支持
#vi/etc/sysctl.conf
net.ipv4.ip_nonlocal_bind=1
#sysctl–p
2、安装haproxy和keepalived
yum-yinstallhaproxykeepalived
3、配置keepalived.conf文件
#vi/etc/haproxy/haproxy.cfg
!ConfigurationFileforkeepalived
global_defs{
notification_email{
jinyan2049@163.com
}
notification_email_fromkeepalived@chtopnet.com
smtp_server127.0.0.1
smtp_connect_timeout30
router_idLVS_DEVEL
}
vrrp_instanceVI_1{
stateMASTER#10.10.105.24设置为BACKUP
interfaceeth0
virtual_router_id51
realserver10.10.105.23#10.10.105.24改自己的ip
priority90#10.10.105.24设置为80
advert_int1
authentication{
auth_typePASS
auth_pass111111
}
virtual_ipaddress{
10.10.105.30
}
4、配置haproxy
#vi/etc/haproxy/haproxy.cfg
#thisconfigneedshaproxy-1.1.28orhaproxy-1.2.1
global
#log127.0.0.1local0
log127.0.0.1local1notice
maxconn5000
uid99
gid99
daemon
pidfile/var/run/haproxy.pid
defaults
logglobal
modehttp
#optionhttplog
optiondontlognull
retries3
optionredispatch
maxconn2000
contimeout5000
clitimeout50000
srvtimeout50000
listenMYSQL10.10.105.30:3306
modetcp
maxconn2000
balanceroundrobin
servermysql-10.10.99.10810.10.99.108:3306checkinter5000fall1rise2
servermysql-10.10.105.1110.10.105.11:3306checkinter5000fall1rise2
srvtimeout20000
listenstats_auth10.10.105.23:80
#listenstats_auth10.10.105.24:80#backupconfig
statsenable
statsuri/korea
statsauthadmin:12345
statsadminifTRUE
5、分别启动haproxy和keepalived
[root@vm-105-23~]#/etc/init.d/haproxyrestart&&/etc/init.d/keepalivedrestart
Stoppinghaproxy:[OK]
Startinghaproxy:[OK]
Stoppingkeepalived:[OK]
Startingkeepalived:[OK]
6、查看vip是否起来
[root@vm-105-23~]#ipaddr
1:lo:<LOOPBACK,UP,LOWER_UP>mtu16436qdiscnoqueuestateUNKNOWN
link/loopback00:00:00:00:00:00brd00:00:00:00:00:00
inet127.0.0.1/8scopehostlo
inet6::1/128scopehost
valid_lftforeverpreferred_lftforever
2:eth0:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000
link/ether52:54:00:6c:d5:95brdff:ff:ff:ff:ff:ff
inet10.10.105.23/24brd10.10.105.255scopeglobaleth0
inet10.10.105.30/32scopeglobaleth0
inet6fe80::5054:ff:fe6c:d595/64scopelink
valid_lftforeverpreferred_lftforever
7、因为我们知道crontab的颗粒细化度只有1分钟,不能细化到秒,所以我们编写haproxy循环检测脚本,并且放入后台运行
cd/home/ops/scripts
nohupshcheckhapid.sh&
vicheckhapid.sh
#!/bin/bash
whiletrue
do
HA=`ps-ef|grephaproxy|grep-vgrep|wc-l`
if[$HA-eq0];
then
/etc/init.d/haproxystart
echo"">/dev/null
sleep2
if[$HA-eq0];
then
/etc/init.d/keepalivedstop
fi
fi
sleep2
done
8、高可用测试
在10.10.105.23上执行ipaddr|grepeth0
[root@vm-105-23~]#ipaddr|grepeth0
eth0:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000
inet10.10.105.23/24brd10.10.105.255scopeglobaleth0
inet10.10.105.30/32scopeglobaleth0
关闭haproxy再打开一个终端继续执行ipaddr|grepeth0,观测
可以发现当无法迅速启动haproxy进程之后,循环脚本会杀死keepalived进程,实现vip的迁移
10.10.105.30迅速转移到10.10.105.24这台备机上!
9、mysql测试
程序在读写分离之后,所有的select语句可以直接通过访问10.10.105.303306来进行工作,后端的mysql服务器可以实现并发读操作
[root@vm-105-23scripts]#mysqlslap-h10.10.105.30--concurrency=100--iterations=1--create-schema='ultrax'--query='select*frompre_home_share;'--number-of-queries=10--debug-info-ubbs-piz3n3s0ft
Benchmark
Averagenumberofsecondstorunallqueries:1.028seconds
Minimumnumberofsecondstorunallqueries:1.028seconds
Maximumnumberofsecondstorunallqueries:1.028seconds
Numberofclientsrunningqueries:100
Averagenumberofqueriesperclient:0
Usertime0.02,Systemtime0.08
Maximumresidentsetsize6996,Integralresidentsetsize0
Non-physicalpagefaults1584,Physicalpagefaults0,Swaps0
Blocksin0out0,Messagesin0out0,Signals0
Voluntarycontextswitches1280,Involuntarycontextswitches91
10、效果图
可以访问http://10.10.105.23/korea
用户名admin
密码12345
转载于:https://blog.51cto.com/jinyan2049/1316694
HAProxy + Keepalived实现MySQL的高可用负载均衡相关推荐
- haproxy负载均衡_基于mycat+haproxy+keepalived搭建mysql数据库高可用负载均衡
概述 目前业界对数据库性能优化普遍采用集群方式,而oracle集群软硬件投入昂贵,mysql则比较推荐用mycat去搭建数据库集群,下面介绍一下怎么用mycat+haproxy+keepalived搭 ...
- keepalive+nginx实现负载均衡高可用_超详细的LVS+keepalived+nginx实现高性能高可用负载均衡集群教程...
概述 前面已经介绍了前两部分内容,下面主要介绍在nginx服务器方面的配置和测试整个集群是否可用. 在realserver端配置VIP 1.两台nginx服务器都要执行下面脚本: #vi /etc/r ...
- ngnix+keepalived 实现N主高可用负载均衡web群集
ngnix+keepalived 实现N主高可用负载均衡web群集 思路: 总结一下最近学习的nginx+keepalived 的负载均衡架构,发现linux的群集系统都是负载均衡层加服务器群组层,实 ...
- Keepalived+LVS-DR模式配置高可用负载均衡集群
环境: 虚拟机:VMware Workstation 操作系统:CentOS 5.5 一.keepalived+lvs-DR模式配置高可用负载均衡 拓扑如下: 二.服务器ip配置信息 1. ip_lb ...
- 利用keepalived和haproxy配置mysql的高可用负载均衡
http://www.cnblogs.com/tae44/p/4717334.html 实验系统:CentOS 6.6_x86_64(2.6.32-504.30.3.el6.x86_64) 实验前提: ...
- Hapoxy+keepalived实现双主高可用负载均衡
在测试了Nginx+Keepalived的负载均衡后,也对Haproxy+Keepalived双主模式做了测试,双主的模式充分利用了服务器资源,这样不会导致服务器浪费. 这里举例说明: 默认情况下,第 ...
- 在Linux基于Keepalived搭建LVS实现高可用负载均衡
文章目录 前言 搭建步骤 配置真实服务器(RS) 配置负载均衡服务器(DS主) 配置负载均衡服务器(DS备) 测试 查看DS主备配置 访问VIP验证负载均衡 查看虚拟路由冗余协议(VRRP)数据包 验 ...
- linux 跨物理 集群,linux学习之使用keepalived结合lvs搭建高可用负载均衡集群
环境如下: 192.168.2.199 vm1.example.com HA主服务器 192.168.2.202vm2.example.com HA备服务器 192.168.2.205vm3.exam ...
- Linux 笔记 - 第十八章 Linux 集群之(三)Keepalived+LVS 高可用负载均衡集群
一.前言 前两节分别介绍了 Linux 的高可用集群和负载均衡集群,也可以将这两者相结合,即 Keepalived+LVS 组成的高可用负载均衡集群,Keepalived 加入到 LVS 中的原因有以 ...
- Keepalived+Nginx实现高可用负载均衡集群
转载自 https://www.cnblogs.com/mrlapulga/p/6857294.html 一 环境介绍 1.操作系统 CentOS Linux release 7.2.1511 (Co ...
最新文章
- js如何将数据放在一个内置窗口里面_Java 爬虫遇上数据异步加载,试试这两种办法!...
- [Swift]LeetCode2. 两数相加 | Add Two Numbers
- 浅析工业级物联网项目的快速开发
- apache配置CA证书通过https通信
- Python 装饰器工作原理解析
- kruskal 重构树(讲解 + 例题)
- jzoj1293,P2933-气象牛(气象测量)【dp】
- java bitset_Java BitSet or()方法与示例
- linux下mysql远程登陆
- Windows核心编程_获取鼠标指定位置的RGB颜色值
- 在 Mac OS X 下启用超级帐户(root)
- mysql数据库d盘_Windows Server 2008 R2下修改MySQL 5.5数据库目录为D盘
- kafka 0.8.2版本配置选项翻译
- 安卓自定义控件,自行绘制文字
- JAVA美发门店管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
- C语言指针 与字符串的学习
- android打开系统文件怎么打开方式,Android调用系统应用打开任意文件
- 基于python语言设计的词云定制器
- 十八. 项目采购管理
- 技术干货 | Linkis实践:新引擎实现流程解析
热门文章
- java模式之工厂模式
- Android UI学习之RadioButton和RadioGroup
- Linux文件系统(七)---系统调用之open操作(三) 之 open_namei函数
- Linux shell__文件操作
- tensorflow中prefetch最合适的用法
- distinct 多列详解
- 冒泡排序详解(C++)
- 广义积分中值定理的证明(柯西中值定理)
- linux修改数据库密码出现的问题吗,关于linux下mysql修改root密码时遇到的问题
- 等高线生成地形_等高线一键变地形模型