MRFENGG 2016-08-11
目标是做一个高可用的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
[测试]
客户端访问10.122.224.37即可连接至redis集群。
下面关于Redis的文章您也可能喜欢,不妨参考下:
Redis 的详细介绍:请点这里
Redis 的下载地址:请点这里