十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
上一篇博客我们介绍了redis Sentinel的安装配置,详情可参考链接:Redis Sentinel--安装配置,今天主要做几个简单的测试Case
成都创新互联公司网络公司拥有十余年的成都网站开发建设经验,1000+客户的共同信赖。提供网站设计、做网站、网站开发、网站定制、卖链接、建网站、网站搭建、成都响应式网站建设公司、网页设计师打造企业风格,提供周到的售前咨询和贴心的售后服务
Redis Sentinel API
ping 正常会返回pong sentinel masters 返回被监视的所有master及状态 sentinel master返回指定的master及状态 setntinel slaves 返回slave及状态 sentinel sentinels 返回sentinel及状态 sentinel get-master-addr-by-name mymaster 返回现在的master IP和Port sentinel reset * 清理已经移除的master-slave或者sentinel信息 sentinel failover 手动执行故障转移 sentinel ckquorum 返回(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"