目录
本博文主要总结关于哨兵的一些理论知识,主要关注点有一下几个方面:
一、哨兵解决了什么问题?
二、哨兵是如何解决“问题一”的?
三、如何使用哨兵?
四、Redis Sentinel客户端实现的原理是什么?Java如何操作Redis Sentinel?
三、如何使用哨兵?
3.1、哨兵环境部署
在Redis哨兵原理总结(一)中介绍了使用哨兵为我们解决了什么问题,在Redis哨兵原理总结(二)总结了哨兵是如何执行监控、主节点故障转移的。
关于如何搭建部署Redis哨兵环境,网络上有很多博客,下面筛选了几篇:
3、基于Sentinel(哨兵)搭建实现Redis高可用集群
3.2、主节点、从节点、哨兵节点配置文件解释
3.2.1、主节点redis.conf文件解释
port 6379
daemonize yes
logfile "/opt/RedisServer/log/matser.log"
dbfilename "dump-6379.rdb"
dir "opt/RedisServer/data"
3.2.2、从节点redis.conf文件解释
port 6380
daemonize yes
logfile "/opt/RedisServer/log/slave-6380.log"
dbfilename "dump-6380.rdb"
dir "opt/RedisServer/data"
slaveof 127.0.0.1 6379
3.2.3、哨兵节点sentinel.conf文件解释
# 哨兵sentinel实例运行的端口,默认26379
port 26379
# 哨兵sentinel的工作目录
dir "/opt/Home/bin"
# 哨兵日志
logfile "/var/log/redis/sentinel.log"
# 哨兵sentinel监控的redis主节点的
## ip:主机ip地址
## port:哨兵端口号
## master-name:可以自己命名的主节点名字(只能由字母A-z、数字0-9 、这三个字符".-_"组成。)
## quorum:当这些quorum个数sentinel哨兵认为master主节点失联 那么这时 客观上认为主节点失联了
# sentinel monitor <master-name> <ip> <redis-port> <quorum>
sentinel monitor mymaster 127.0.0.1 6379 2
# 当在Redis实例中开启了requirepa