源码安装redis一主一从加哨兵

主:172.30.23.32
从:172.30.3.18
哨兵:172.30.3.18
关闭selinux、防火墙

主从配置
一、安装redis依赖包
yum -y install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel gcc make gcc-c++ libstdc+±devel tcl

二、获取redis安装包
链接:下载链接

三、在主机和从机分别做如下操作
mkdir /root/redis
wget http://download.redis.io/releases/redis-3.0.5.tar.gz
tar zxf redis-3.0.5.tar.gz
cd redis-3.0.5
由于安装包已经生成了Makefile,所以直接make&&make install
redis-server和redis-cli在目录/root/redis/redis-3.0.5/src下

四、主机配置
vim /root/redis/redis-3.0.5/redis.conf
daemonize yes
bind 172.30.23.32
appendonly yes(开启持久化)
开启redis服务
/usr/local/bin/redis-server /root/redis/redis-3.0.5/redis.conf (查看6379端口是否开启)

五、从机配置
vim /root/redis/redis-3.0.5/redis.conf
daemonize yes
bind 172.30.3.18
appendonly yes(开启持久化)
slaveof 172.30.23.32 6379
开启redis服务
/usr/local/bin/redis-server /root/redis/redis-3.0.5/redis.conf (查看6379端口是否开启)

六、查看主从状态
master端
源码安装redis一主一从加哨兵
slave端
源码安装redis一主一从加哨兵
验证:
主机设置一个键值对:
源码安装redis一主一从加哨兵

从节点查看:
源码安装redis一主一从加哨兵
配置sentinel

从机:
vim /root/redis/redis-3.0.5/sentinel.conf
sentinel monitor mymaster 172.30.23.32 6379 1 (设置监控的redis主节点)
sentinel down-after-milliseconds mymaster 3000 (3秒内检测不到mymaster节点存活,则认为主节点故障从而进行转移操作)
sentinel parallel-syncs mymaster 1 (故障转移后,允许多少从服务器连接主节点发起同步请求)
sentinel failover-timeout mymaster 18000(故障转移的超时时间,单位是毫秒)

启动redis-sentinel,查看是否监听了26379端口
/usr/local/bin/redis-sentinel /root/redis/redis-3.0.5/sentinel.conf &

查看sentinel的信息
源码安装redis一主一从加哨兵
一、验证sentinel设置是否有效
宕掉master
源码安装redis一主一从加哨兵
sentinel查看状态
源码安装redis一主一从加哨兵
可以看到从前的slave已经变成了,master

恢复宕掉的机器,验证变成master的从机是否可以写数据
源码安装redis一主一从加哨兵
验证:
源码安装redis一主一从加哨兵
源码安装redis一主一从加哨兵
写入数据成功!