HaProxy 配置Redis高可用集群

目标是做一个高可用的redis集群供 sensu使用。redis集群采用Sentinel + Redis 配置三节点。
配置详情可参考之前一篇博文Redis集群配置

Sentinel可以做到当master挂掉后,自动选举出新的master,然后它并不是一个proxy。因此我们需要一个proxy提供一个ip给client使用,本文使用HaProxy做代理。考虑到HaProxy单节点故障问题,使用Keepalived做HaProxy主从,从而实现一个高可用的Redis集群。

HaProxy:
我使用的HaProxy版本是1.4.21,可以去官网下。
[安装]

tar zxvf haproxy-1.4.21.tar.gz
mv haproxy-1.4.21 /usr/local/haproxy
cd /usr/local/haproxy
make install

[修改配置文件]

mkdir conf
cd conf
vim 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
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000

listen  proxy 10.166.224.37:6379   #对client提供的VIP
        #三个redis实例
        server redis_10.122.224.36 10.166.224.36:6379 check inter 2000 rise 2 fall 5
        server redis_10.122.224.35 10.166.224.35:6379 check inter 2000 rise 2 fall 5
        server redis_10.122.224.33 10.166.224.33:6379 check inter 2000 rise 2 fall 5

[启动]

/usr/local/haproxy/haproxy -f /usr/local/haproxy/conf/haproxy.cfg

[测试]
HaProxy 配置Redis高可用集群_第1张图片
客户端访问10.122.224.37即可连接至redis集群。

你可能感兴趣的:(运维)