系统:ubuntu

一、安装redis

tip:redis这里下载在usr/local/src/
安装到usr/local/redis目录

1)进入文件夹usr/local/src
cd /usr/local/src

2)下载redis2.8.9.tar.gz
wget http://download.redis.io/releases/redis-2.8.9.tar.gz

3)解压缩
tar -zxvf redis-2.8.9.tar.gz

4)建立一个链接
ln -s redis-2.8.9 redis
这样使用cd redis就可以进入redis2.8.9这个文件夹了。

5)创建文件夹usr/local/redis
mkdir usr/local/redis

6)安装到usr/local/redis目录
make PREFIX=/usr/local/redis/ install

二、sentinel模式配置

说明配置:
有2台虚拟机,IP分别为192.168.25.129,192.168.25.130
192.168.25.129配置:
6379:主服务器
6380:从服务器

192.168.25.130配置:
6379:从服务器
6380:从服务器
也就是192.168.25.129的6379端口作为主服务器,其他几个作为从服务器。

2个redis实例分别有2个哨兵监控master。

在usr/local/src/redis中创建目录conf
将redis.conf和sentinel.conf复制进去。
mkdir conf
cp redis.conf ./conf
cp sentinel.conf ./conf

redis.conf重命名为redis6379.conf(或者上面复制的时候使用cp redis.conf ./conf/redis6379.conf)
mv redis.conf redis6379.conf

redis6379.conf改动如下:
只要修改如下几行
pidfile /var/run/redis_6379.pid
port 6379
logfile /var/log/redis_6379.log
dbfilename dump_6379.rdb
重新复制一份重命名为redis6380.conf,改动同redis6379.conf,将相应的6379改成6380即可。

sentinel.conf删除全部内容,粘贴如下内容:
port 26379
dir “/home/smith/log/redis/sentinels/26379”
sentinel monitor mymaster 192.168.25.12963791
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000

192.168.25.130的配置同192.168.25.129。

部署:
1)启动192.168.25.129的6379端口;
redis-server ../conf/redis6379.conf

2)启动192.168.25.129的6380端口;
redis-server ../conf/redis6380.conf

3)将192.168.25.129的638端口作为从服务器;
redis-cli -p 6380 slaveof 192.168.25.1296379

4)启动哨兵监控master(在129执行)
redis-server ../conf/sentinel.conf –sentinel

5)启动192.168.25.130的6379端口;
redis-server ../conf/redis6379.conf

6)启动192.168.25.130的6380端口;
redis-server ../conf/redis6380.conf

6)将192.168.25.130的6379端口设置为从服务器;
redis-cli -p 6379 slaveof 192.168.25.1296379

7)将192.168.25.130的6380端口设置为从服务器;
redis-cli -p 6380 slaveof 192.168.25.1296379

8)启动哨兵监控master(在130执行)
redis-server ../conf/sentinel.conf –sentinel

查看master有几个从服务器
在master机器执行如下命令:
redis-cli -p 6379 info replication
显示如下:

可以看到有3个从服务器。
哨兵监控信息显示如下:

模拟master故障
在192.168.25.129执行:
redis-cli -p 6379 shutdown
哨兵会从从服务器中选择一台来作为主服务器。
原来的主服务器重新启动后,会被当做新服务器的从服务器,如下:

参考:http://my.oschina.net/guol/blog/182272