Redis 5.0.9配置哨兵模式实现主从切换

1、准备工作

准备两台以上已经安装Redis的服务器并配置主从,这里以三台安装了Redis5.0.9的Centos 7 为例子

Redis主从配置:https://www.cnblogs.com/chenppp/p/13443398.html

主节点:192.168.199.50

从节点:192.168.199.51

从节点:192.168.199.52

Redis Sentinel 是一个分布式系统, 你可以在一个架构中运行多个 Sentinel 进程(progress), 这些进程使用流言协议(gossip protocols)来接收关于主服务器是否下线的信息, 并使用投票协议(agreement protocols)来决定是否执行自动故障迁移, 以及选择哪个从服务器作为新的主服务器。

哨兵有两个作用

  • 通过发送命令,让Redis服务器返回监控其运行状态,包括主服务器和从服务器。

  • 当哨兵监测到master宕机,会自动将slave切换成master,然后通过发布订阅模式通知其他的从服务器,修改配置文件,让它们切换主机

2、配置哨兵模式

  1、在编译redis后的源码文件中,复制相关配置文件文件到redis安装目录  

[ redis-5.0.9]# cp sentinel.conf /usr/local/redis/conf/

  2、配置sentinel.conf

  三个redis节点都需要配置哨兵模式

port 26379    # 监听端口
daemonize yes  # 守护进程运行
pidfile "/usr/local/redis/logs/sentinel_26379.pid"  # 指定pid文件
logfile "/usr/local/redis/logs/sentinel.log"      # 指定log文件
sentinel monitor mymaster 192.168.199.50 6379 2    # 指定redis主节点sentinel down-after-milliseconds mymaster 30000    # 多少秒内主节点没有回应,将被认为节点下线,默认为30秒,单位为毫秒
sentinel auth-pass mymaster password          # 制定redis主从节点密码
[ bin]# ./redis-sentinel ../conf/sentinel.conf    # 启动进程
[ bin]# ps -ef |grep redis-sentinel 
root       7987      1  0 12:08 ?        00:00:00 ./redis-sentinel *:26379 [sentinel]
root       7998   7777  0 12:08 pts/1    00:00:00 grep --color=auto redis-sentinel

  启动三个sentinel节点后查看日志,能看到redis主从信息已经获取到了

Redis 5.0.9配置哨兵模式实现主从切换

 3、验证主从节点,测试主从切换

  kill 掉主节点,查看redis主从会不会自动切换

  kill 主节点后,哨兵服务已经检测到主节点挂掉,已经将主节点切换到192.168.199.52

Redis 5.0.9配置哨兵模式实现主从切换

   登录到192.168.199.52的redis,确认状态,当前状态已为主节点状态

Redis 5.0.9配置哨兵模式实现主从切换

   重新启动kill掉的节点,启动后会重新接入,成为从节点

Redis 5.0.9配置哨兵模式实现主从切换

相关推荐