目录
1.介绍
1.1 概念
1.2 搭建
1.复制一份sentinel.conf文件 cp sentinel.conf sentinel‐26379.conf
2.将相关配置修改为如下值:
port 26379
daemonize yes
pidfile "/var/run/redis‐sentinel‐26379.pid"
logfile "26379.log"
dir "/usr/local/redis‐5.0.3/data"
sentinel monitor mymaster 192.168.0.60 6379 2 # mymaster这个名字随便取,客户端访问时会用到
# quorum是一个数字,指明当有多少个sentinel认为一个master失效时(值一般为:sentinel总数/2 + 1),master才算真正失效
3.启动sentinel哨兵实例
src/redis‐sentinel sentinel‐26379.conf
4.查看sentinel的info信息 127.0.0.1:26379>info
可以看到Sentinel的info里已经识别出了redis的主从
info看到的信息
sentinel集群都启动完毕后,会将哨兵集群的元数据信息写入所有sentinel的配置文件里去(追加在文件的最下面),我们查看下如下配置文件sentinel-26379.conf,如下所示:
sentinel known-replica mymaster 代表从节点信息,上面80和81就是从节点
sentinel known-sentinel mymaster 代表感知到其他的哨兵节点,上面其他两个哨兵就是80和81
当redis主节点如果挂了,哨兵集群会重新选举出新的redis主节点,同时会修改所有sentinel节点配置文件的集群元数据信息,比如6379的redis如果挂了,假设选举出的新主节点是6380,则sentinel文件里的集群元数据信息会变成如下所示:
info展示的信息
sentinel-6379.conf
同时还会修改sentinel文件里之前配置的mymaster对应的6379端口,改为6380
sentinel monitor mymaster 192.168.0.60 6380 2
当6379的redis实例再次启动时,哨兵集群根据集群元数据信息就可以将6379端口的redis节点作为从节点加入集群