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

Posted 这次应该行吧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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安装目录  

[root@swarm-node1 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主从节点密码
[root@swarm-node3 bin]# ./redis-sentinel ../conf/sentinel.conf    # 启动进程
[root@swarm-node3 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主从信息已经获取到了

  

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

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

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

  

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

  

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

  

以上是关于Redis 5.0.9配置哨兵模式实现主从切换的主要内容,如果未能解决你的问题,请参考以下文章

给Redis主从复制模式加上哨兵实现高可用

redis主从哨兵主备切换搭建一步一步图解实现

redis进阶:哨兵模式工作原理及搭建

014 复制的高级配置--哨兵模式

Linux环境安装Redis高可用及配置主从复制哨兵模式分布式集群模式

Linux环境安装Redis高可用及配置主从复制哨兵模式分布式集群模式