redi通过哨兵sentinel实现主从切换

本次实验主要为了让哨兵监听redis主从复制,当主节点关闭后,哨兵会选举一台从节点成为主节点,并且让其他从节点变成新主节点得从节点

本次理论需要三台机器,一主两从,为了方便用一台服务器开启三个实例,一主两从

操作系统centos7.2(1511) yum install epel-release -y  yum -y install redis安装源并且安装redis

mkdir /redis/700{1,2,3} -p 创建三个实例存放数据目录

cp /etc/redis.conf 7001  分别复制配置文件到三个实例的目录下

修改配置redis.conf

bind 0.0.0.0   #监听所有地址
port 7002   #监听的端口依次为7001、7002、7003
daemonize yes   #后台守护方式开启服务
pidfile "/var/run/redis/redis_7001.pid"    #因为是用的是1台机器的3个实例,所以指定不同的pid文件
### SNAPSHOTTING  ###
dir "/data/redis_cluster/7001"    #依次修改
### REPLICATION ###  在这一段配置
slaveof 127.0.0.1 7001   #依次修改

  启动三台实例,并确认7001节点为主节点,通过info replication查看主从情况,确认7001上有两台从节点7002,7003

修改/etc/redis-sentinel.conf

port 26379   #默认监听端口26379
#sentinel announce-ip 1.2.3.4   #监听地址,注释默认是0.0.0.0
sentinel monitor mymaster 127.0.0.1 7001 1   #指定主redis和投票裁决的机器数,即至少有1个sentinel节点同时判定主节点故障时,才认为其真的故障
下面保存默认就行,根据自己的需求修改
sentinel down-after-milliseconds mymaster 5000   #如果联系不到节点5000毫秒,我们就认为此节点下线。
sentinel failover-timeout mymaster 60000   #设定转移主节点的目标节点的超时时长。
sentinel auth-pass <master-name> <password>   #如果redis节点启用了auth,此处也要设置password。
sentinel parallel-syncs <master-name> <numslaves>   #指在failover过程中,能够被sentinel并行配置的从节点的数量;

  systemctl start redis-sentinel  启动哨兵服务

        tail -f /var/log/redis/sentinel.log  查看哨兵服务的日志,当出现+slave后面接着从节点的信息,即成功

        模拟主节点故障,关闭主节点

        过一会儿哨兵就会选举新的主节点,并把其他节点变成新的主节点的从节点

        实验成功

        当恢复旧的主节点后,会把旧的主节点当成新的主节点的从节点

原文地址:https://www.cnblogs.com/allmdzz/p/10724178.html