导航

Sentinel(哨兵模式)

高可用启动顺序:

1.先搭建主从并启动

2.修改sentinel并启动

主从复制的问题:

1.一旦主节点出现问题:手动提升从节点为主节点

手动修改web的主节点地址  复制命令到新的主节点

2.主节点的写能力有限

3.主节点的存储能力有限

主故障,从节点自动提升为主节点

哨兵模式:

哨兵模式是一种特殊的模式:

这是redis内置的  哨兵是一个单独的进程,独立运行  /etc/redis.conf   /etc/redis-sentinel.conf

工作原理,是从通过发送命令(ping),等待redis响应,从而监控多个redis实例

哨兵:redis自带 工作在redis服务器 基于主从  作用:1.监控主从2.投票判断达到设定的票数之后自动提升一个从为新的主,然后通知整个集群,建立新的主从关系

实验步骤:

第一步:搭建1.搭建一主多从master:192.168.0.121   

bind  0.0.0.0 

protected-mode  no

port  6379

第一台从服务器的配置:192.168.0.120

bind 0.0.0.0      

proedtected-mode no

port  6379

slaveof 192.168.0.121 6379

第二台从服务器:192168.0.122

bind 0.0.0.0

proedtected-mode no

port  6379

slaveof 192.168.0.121 6379

做一主多从服务

 

第二步:vim /etc/redis-sentinel.conf修改添加

sentinel  monitor mymaster 192.168.0.120  6379  2(代表票数)   

protected-mode  no

第三步:重启service redis-sentinel  start三台服务器都要配置

第四步:tail -f /var/log/redis/sentinel.log 查看日志文件  sentinel搭建成功

测试

1.在第三台服务器上tail -f /var/log/redis/sentinel.log

2.将主服务器的redis停止运行service  reddis stop

3.查看第三台服务器是否投票成功

4.在从服务器上查看IP地址

结果是:

正常状态:master:121  slave:120  122

故障状态:master:120   slave:121  122

121恢复后不一定还是master可以是其中的任意一个

故障的切换过程:

1.主服务器宕机

2.日志中,有一台服务器发现主服务器挂了,判断为sdown(主观下线)

63255:X 11 Oct 17:11:49.473 # +sdown slave 192.168.0.121:6379 192.168.0.121 6379 @ mymaster 192.168.022 6379

3.sentinel  推leader,发起投票,如果一旦达到设置的票数,就执行故障切换,客观下线

63255:X 11 Oct 17:21:50.394 # +odown master mymaster 192.168.0.122 6379
63255:X 11 Oct 17:21:50.456 # +new-epoch 10  票数的数量

4.故障切换,通过发布订阅模式,告诉所有的sentinel,把自己监控的从服务器的master IP修改

63255:X 11 Oct 17:21:50.928 # +switch-master mymaster 192.168.0.122 6379 192.168.0.120 6379

5.同步数据:+fix、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

 

posted on 2021-10-11 17:37  molingke  阅读(314)  评论(0编辑  收藏  举报