● 下载redis源码包,地址:http://download.redis.io/releases/redis-3.2.4.tar.gz
● 编译redis安装包
解压redis-3.2.4.tar.gz:tar zxvf redis-3.2.4.tar.gz
进入redis-3.2.4目录,执行:make,然后再执行make install即可
● 主备环境说明(同一台物理机搭建)
ip:192.168.130.132
主redis ip和端口:192.168.130.132:6301
备redis ip和端口:192.168.130.132:6315,192.168.130.132:6316,192.168.130.132:6317
sentinel哨兵ip和端口:192.168.130.132:26301(可部署多个,避免单点故障)
1.主redis配置说明
拷贝redis-3.2.4 目录下的redis.conf :cp redis.conf redis_master_6301.conf
修改其中以下字段
bind 192.168.130.132
#绑定redis提供服务的ip
port 6301
#修改redis端口为6301
daemonize yes
#后台进程启动
pidfile "/var/run/redis_master_6301.pid"
#进程pid文件路径
logfile "/var/run/logs/log_master_6301.log"
#日志文件路径
dbfilename "dump_6301.rdb"
#数据文件路径
appendfilename "appendonly_6301.aof"
#append文件路径
2.备redis配置说明
拷贝redis-3.2.4 目录下的redis.conf :
cp redis.conf redis_slave_6315.conf
cp redis.conf redis_slave_6316.conf
cp redis.conf redis_slave_6317.conf
在主配置文件的基础上添加:
slaveof 192.168.130.132 6301
备注:其他文件修改类似
● sentinel哨兵配置
拷贝redis-3.2.4 目录下的sentinel.conf :cp sentinel.conf sentinel_26301.conf
修改如下配置
port 26301
sentinel monitor master1 192.168.130.132 6316 1
#后面的1代表选举的sentinel个数
sentinel down-after-milliseconds master1 5000
sentinel failover-timeout master1 900000
sentinel parallel-syncs master1 2
down-after-milliseconds 选项指定了 Sentinel 认为服务器已经断线所需的毫秒数(判定为主观下线SDOWN)。
parallel-syncs 选项指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步, 这个数字越小, 完成故障转移所需的时间就越长,但越大就意味着越多的从服务器因为复制而不可用。可以通过将这个值设为 1 来保证每次只有一个从服务器处于不能处理命令请求的状态。
参照:http://www.cnblogs.com/Xrinehart/p/3502198.html
● 启动redis Server
./redis-server ../redis_master_6301.conf
./redis-server ../redis_slave_6315.conf
./redis-server ../redis_slave_6316.conf
./redis-server ../redis_slave_6317.conf
● 启动 sentinel
./redis-sentinel ../sentinel_26301.conf
● 测试说明
宕机掉主redis,sentinel哨兵自动实现切换
● 备注
○ 哨兵配置文件会持久化到文件
○ redis读写性能不纳入讨论范围