keepalived-2.0.5
haproxy-1.8.12
Mycat-server-1.6.5
主机1:ip192.168.1.165 安装keepalived、haproxy、Mycat
主机2:ip192.168.1.111 安装keepalived、haproxy、Mycat
vip:192.168.1.180
keepalived与haproxy需安装在同一台机器上
运作理解:主机1与主机2上的keepalived会为该服务器抢占vip,抢占到vip后,对该主机的访问可以通过原来的ip(ip192.168.1.165或者192.168.1.111)访问,也可以直接通过vip(192.168.1.180)访问,当其中一台宕机时,vip会漂移到另一台机器上,当我们访问192.168.1.180时haproxy会根据配置将请求分发到两台Mycat上实现负载均衡,并且haproxy会检测mycat是否存活。
一、haproxy安装
1、安装haproxy
uname -r
image.png
根据内核版本选择编译参数:
image.png
这里内核是3.10的选择 linux2628,安装haproxy
useradd -r haproxy
wget https://src.fedoraproject.org/repo/pkgs/haproxy/haproxy-1.8.12.tar.gz/sha512/2b782a54988cc88d1af0e5f011af062910e8fac28eab13db7e05a58d0d23961f827da47e3871e8d081f5a2d222588480d81dec2e9f14ec9f54a1c3cb5bf3d56a/haproxy-1.8.12.tar.gz
tar -zxvf haproxy-1.8.12.tar.gz
cd haproxy-1.8.12
make TARGET=linux2628 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy
cd /usr/local/haproxy
chown -R haproxy.haproxy *
安装成功后,查看版本
image.png
2、配置haproxy
cd /usr/local/haproxy
touch haproxy.cfg
vim /usr/local/haproxy/haproxy.cfg
写入一下内容:
global
#设置日志
log 127.0.0.1 local0
chroot /usr/local/haproxy
#用户与用户组
user haproxy
group haproxy
#定义每个haproxy进程的最大连接数 ,由于每个连接包括一个客户端和一个服务器端,所以单个进程的TCP会话最大数目将是该值的两倍。
maxconn 4096
# 以守护进程的方式运行
daemon
defaults
log global
#日志中不记录空连接
option dontlognull
# 定义连接后端服务器的失败重连次数,连接失败次数超过此值后将会将对应后端服务器标记为不可用
retries 3
option redispatch
# 设置成功连接到一台服务器的最长等待时间,默认单位是毫秒
timeout connect 5000
# 设置连接客户端发送数据时的成功连接最长等待时间,默认单位是毫秒
timeout client 50000
# 设置服务器端回应客户度数据发送的最长等待时间,默认单位是毫秒
timeout server 50000
#统计页面
listen admin_stats
bind 192.168.1.180:48800
mode http
#采用http日志格式
option httplog
#统计页面自动刷新时间
stats refresh 30s
#统计页面url
stats uri /admin_s