Redis Sentinel--运维管理

转载:https://blog.51cto.com/darrenmemos/2156538

Redis Sentinel API

 

ping 正常会返回pong
sentinel masters  返回被监视的所有master及状态
sentinel master <master name> 返回指定的master及状态
setntinel slaves <master name> 返回slave及状态
sentinel sentinels <master name> 返回sentinel及状态
sentinel get-master-addr-by-name mymaster 返回现在的master IP和Port
sentinel reset * 清理已经移除的master-slave或者sentinel信息
sentinel failover <master name>手动执行故障转移
sentinel ckquorum <master name> 返回(OK 3 usable Sentinels. Quorum and failover authorization can be reached)
sentinel flushconfig 如果sentinel.conf丢失,可以使用这个命令生成新的配置文件

登录后复制

 

添加Sentinel

增加一个sentinel很简单,直接配置好sentinel.conf文件,开启一个sentinel即可;

添加时最好一个添加结束后,再添加另外一个,不要同时添加,可以每隔30秒添加一个sentinel;

通过SENTINEL MASTER mastername中的num-other-sentinels来查看是否成功添加sentinel。

 

 

[root@sht-sgmhadoopdn-04 redis]# cat sentinel.conf
daemonize yes
port 26379
logfile "sentinel.log"
dir "/usr/local/redis"
protected-mode no
sentinel myid 79393e76e002cb64db92fb8bcb88d79f2d85a82b
sentinel monitor mymaster 172.16.101.59 6379 2

[root@sht-sgmhadoopdn-04 redis]# src/redis-sentinel sentinel.conf

172.16.101.54:26379> sentinel master mymaster
33) "num-other-sentinels"
34) "3"

登录后复制

 

移除Sentinel

删除一个sentinel稍微复杂一点,sentinel永远不会删除一个已经存在过的sentinel,即使它已经与组织失去联系

Step:

(1) Stop the Sentinel process of the Sentinel you want to remove.

 

(2) Send a SENTINEL RESET * command to all the other Sentinel instances (instead of * you can use the exact master name if you want to reset just a single master). One after the other, waiting at least 30 seconds between instances.

 

(3) Check that all the Sentinels agree about the number of Sentinels currently active, by inspecting the output of SENTINEL MASTER mastername of every Sentinel.

 

 

[root@sht-sgmhadoopdn-04 redis]# ps -ef|grep redis
root     17510     1  0 18:34 ?        00:00:03 src/redis-sentinel *:26379 [sentinel]
[root@sht-sgmhadoopdn-04 redis]# kill -9 17510

登录后复制

 

在其他的每个sentinel节点上,每个隔30s执行

172.16.101.54:26379> sentinel reset *
172.16.101.55:26379> sentinel reset *
172.16.101.56:26379> sentinel reset *
172.16.101.54:26379> sentinel master mymaster
33) "num-other-sentinels"
34) "2"

登录后复制

 

移除一个老的master或不可用的slave

 

[root@sht-sgmhadoopdn-01 redis]# ps -ef|grep redis
root     15261     1  0 Aug05 ?        00:05:55 src/redis-server 172.16.101.58:6379
root     19768 19394  0 21:09 pts/2    00:00:00 grep --color=auto redis
[root@sht-sgmhadoopdn-01 redis]# kill -9 15261
172.16.101.54:26379> sentinel masters
   31) "num-slaves"
   32) "2"

登录后复制

 

在每个sentinel节点上,每个隔30s执行

 

172.16.101.54:26379> sentinel reset mymaster
172.16.101.55:26379> sentinel reset mymaster
172.16.101.56:26379> sentinel reset mymaster

172.16.101.54:26379> sentinel masters
   31) "num-slaves"
   32) "1"

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值