redis sentinel哨兵实现redis高可用

一.redis sentinel介绍

redis sentinel是redis高可用的实现方案,redis主从本身并没有自动切换的功能。redis sentinel是一个独立的服务进程,默认监听26379端口,能够监控redis master-slave集群,当master宕机之后,可以实现自动切换。
主要的功能有主节点存活检测、主从运行情况检测、自动故障转移(failover)、主从切换。
redis sentinel它支持它自身的集群,目的在于让它自身更稳定,当一个redis sentinel出现问题之后,还有其他redis sentinel能够接上。

redis sentinel工作流程:
Sentinel负责监控集群中的所有主、从Redis,当发现主故障时,Sentinel会在所有的从中选一个成为新的主。
并且会把其余的从变为新主的从。同时那台有问题的旧主也会变为新主的从,也就是说当旧的主即使恢复时,
并不会恢复原来的主身份,而是作为新主的一个从。

redis sentinel的投票机制:
当其中一个redis sentinel发现redis master有问题之后,会进行投票。当大多数的sentinel都觉得有问题(大多数可以自己设置为一个值),才会开始进行redis 主从切换。更详细的讲解可以看这个网址:https://segmentfault.com/a/1190000002680804

二.redis sentinel环境准备和实现

192.168.247.160:6379 redis master
192.168.247.170:6379 redis slaver
192.168.247.180:6379 redis slave

192.168.247.160:26379 redis sentinel
192.168.247.170:26379 redis sentinel
192.168.247.180:26379 redis sentinel

redis搭建:
https://blog.csdn.net/qq_37369726/article/details/102718448

redis主从:
在各个slave配置文件中添加一行:

replicaof 192.168.247.160 6379

查看有没有配置成功,进入master,输入info:

redis-cli -h 192.168.247.160 -p 6379
info

在这里插入图片描述

部署sentinel:
首先将源码包里面的sentinel.conf拷贝:

cp /usr/local/src/redis-5.0.5/sentinel.conf /etc/sentinel.conf
# 端口
port 26379

# 是否后台启动
daemonize yes

# pid文件路径
pidfile /var/run/redis-sentinel.pid

# 日志文件路径
logfile "/var/log/sentinel.log"

# 定义工作目录
dir /tmp

# 定义Redis主的别名, IP, 端口,这里的2指的是需要至少2个Sentinel认为主Redis挂了才最终会采取下一步行为
sentinel monitor mymaster 192.168.247.160 6379 2

# 如果mymaster 30秒内没有响应,则认为其主观失效
sentinel down-after-milliseconds mymaster 30000

# 如果master重新选出来后,其它slave节点能同时并行从新master同步数据的台数有多少个,显然该值越大,所有slave节
##点完成同步切换的整体速度越快,但如果此时正好有人在访问这些slave,可能造成读取失败,影响面会更广。最保守的设置
##为1,同一时间,只能有一台干这件事,这样其它slave还能继续服务,但是所有slave全部完成缓存更新同步的进程将变慢。
sentinel parallel-syncs mymaster 1

# 该参数指定一个时间段,在该时间段内没有实现故障转移成功,则会再一次发起故障转移的操作,单位毫秒
sentinel failover-timeout mymaster 180000

# 不允许使用SENTINEL SET设置notification-script和client-reconfig-script。
sentinel deny-scripts-reconfig yes

启动:

redis-sentinel /etc/sentinel.conf

Sentinel操作

sentinel master mymaster

输出被监控的主节点的状态信息

sentinel slaves mymaster

查看mymaster的从信息

sentinel sentinels mymaster

查看其他Sentinel信息
发布了108 篇原创文章 · 获赞 26 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_37369726/article/details/104127037