目前官方开发中的Redis Cluster提供的功能尚不完善(可参考官方网站或http://redis.io/topics/cluster-tutorial)
环境部署
环境介绍:
Master: 192.168.0.22 redis,keepalived
Slave: 192.168.0.23 redis,keepalived
Virtural IP Address (VIP): 192.168.0.88
设计思路:
两个redis server主从备份。提供redis 服务高可用;两个keepalived 服务主从备份,提供VIP 服务的高可用。
1)每台redis server分别有主,从两个配置文件(redis_master.conf, redis_slave.conf),通过启动脚本启动服务,启动脚本会检测这个redis集群中的其他服务器的角色,如果有master 服务存在,则以slave角色启动,否则将自己以master服务器启动;
2) keepalived 监控脚本,定时(频率:每秒一次)检测当前服务器是否获取集群VIP,如果获取集群VIP,则将本服务器上的redis服务器设置为master。同时将远端的其他redis服务器设置为slave;保证获取集群VIP的redis 服务器角色为master,其他的设置为slave。
3) keepalived 监控脚本,还会自动检测当前redis服务器是否正常,如果连续两次检测异常,则停掉本本机的keepalived服务,释放集群VIP,让去漂移到其他可以提供redis 服务的服务器上;
4)当 Master 与 Slave 均运作正常时, Master负责服务,Slave负责同步数据;当 Master 挂掉,Slave 正常时, Slave接管服务,同时关闭主从复制功能;当 Master 恢复正常,则从Slave同步数据,同步数据之后关闭主从复制功能,恢复Master身份,于此同时Slave等待Master同步数据完成之后,恢复Slave身份。然后依次循环。
实施步骤:
—-安装配置redis
1.下载redis源码
wget http://download.redis.io/releases/redis-3.0.2.tar.gz
2.安装redis
tar -zxvf redis-3.0.2.tar.gz
cd redis-3.0.2
redis的安装可以不用执行configure
make && make install
3.配置redis
特别注意:这里我们不使用redis官方提供的主从配置,只需要配置守护进程和日志就可以了,其他的默认!
#守护进程
daemonize yes
#日志文件路径
logfile "/var/log/redis.log"
—-安装配置keepalived
1.下载keepalived源码Release 1.2.19
wget http://www.keepalived.org/software/keepalived-1.2.19.tar.gz
2.安装keepalived
tar –zxvf keepalived-1.2.19.tar.gz
cd keepalived-1.2.19
./configure –prefix=/usr/local/keepalived
make && make install
3.配置keepalived
在Master和Slave上创建如下配置文件(可根据实际情况调整):
mv /usr/local/keepalived/etc/keepalived/keepalived.conf /usr/local/keepali