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配置哨兵模式实现主从切换的主要内容,如果未能解决你的问题,请参考以下文章