一、安装说明
1、我们在192.168.110.66机器上搭建haproxy
2、haproxy代理端口为6379
二、操作步骤
1、下载源码包
https://www.haproxy.org/download/1.7/src/haproxy-1.7.9.tar.gz
2、安装
(1)解压
[root@localhost ~]# tar -xvzf haproxy-1.7.9.tar.gz
[root@localhost ~]# cd haproxy-1.7.9
(2)创建目录
[root@localhost haproxy-1.7.9]# mkdir -p /usr/local/haproxy
(3)安装
[root@localhost haproxy-1.7.9]# yum groupinstall -y "Development Tools"
[root@localhost haproxy-1.7.9]# yum install -y openssl openssl-devel
[root@localhost haproxy-1.7.9]# uname -a
[root@localhost haproxy-1.7.9]# make TARGET=linux26 USE_OPENSSL=1 ADDLIB=-lz #此处编译的时候需要让haproxy支持SSL模块
[root@localhost haproxy-1.7.9]# make install PREFIX=/usr/local/haproxy
(4)安装完成之后查看版本
[root@i-bapxgqlw examples]# /usr/local/haproxy/sbin/haproxy -v
HA-Proxy version 1.7.9 2017/08/18
Copyright 2000-2017 Willy Tarreau <willy@haproxy.org>
[root@i-bapxgqlw examples]#
复制haproxy到/usr/sbin/下
[root@i-bapxgqlw examples]#cp /usr/local/haproxy/sbin/haproxy /usr/sbin/
(5)设置启动脚本
复制haproxy脚本到/etc/init.d下
[root@ceshi haproxy-1.7.9]# cd /root/haproxy-1.7.9/examples/
[root@i-bapxgqlw examples]# cp haproxy.init /etc/init.d/haproxy
赋予权限
[root@i-bapxgqlw examples]# chmod 755 /etc/init.d/haproxy
创建系统账号
[root@i-bapxgqlw examples]# useradd -r haproxy
3、创建配置文件
[root@localhost ~]# mkdir /etc/haproxy
[root@localhost ~]# vim /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
#log loghost local0 info
maxconn 4096
chroot /usr/local/haproxy
uid 99
gid 99
daemon
#debug
#quiet
defaults
log global
mode tcp
option redispatch
option dontlognull
retries 2
maxconn 2000
balance roundrobin
timeout client 50s #客户端超时
timeout server 50s #服务器超时
timeout connect 5s #连接超时
listen proxy
bind 192.168.110.66:6379 #对client提供的VIP
server redis_01 192.168.110.56:7000 check inter 2000 rise 2 fall 5 #我这里转发的是主节点,当然这里也可以添加从节点的端口
server redis_02 192.168.110.63:7004 check inter 2000 rise 2 fall 5
4、启动haproxy
[root@localhost ~]#/etc/init.d/haproxy start
三、连接测试
(1)使用haproxy代理服务器的ip加代理端口连接redis
[root@localhost ~]# redis-cli -h 192.168.110.66 -c -p 6379
192.168.110.66:6379> KEYS *
1) "name"
192.168.110.66:6379> KEYS *
1) "name"
192.168.110.66:6379> set name robin
OK
192.168.110.66:6379> get name
"robin"
192.168.110.66:6379>
(2)可以正常连接证明配置无误
(3)我将haproxy中的7000节点关闭之后,使用代理方式连接redis正常,证明实现了高可用