准备实例和配置
搭建一个三节点的 Sentinel 集群,来监管之前的 Redis 主从集群,如图:
参考上述配置,分别复制 redis 下的 sentinel.conf 文件,如图:
文件中除端口外,其它配置都是一样的。
启动 Sentinel
使用 redis-sentinel 命令来启动,也可以使用 redis-server 命令来启动一个运行在 Sentinel 模式下的 Redis 服务器:
redis-sentinel /etc/redis/sentinel/26379.conf
# OR
redis-server /etc/redis/sentinel/26379.conf --sentinel
两种方法都可以启动一个 Sentinel 实例。
启动 Sentinel 实例必须指定相应的配置文件, 系统会使用配置文件来保存 Sentinel 的当前状态, 并在 Sentinel 重启时通过载入配置文件来进行状态还原。
如果启动 Sentinel 时没有指定相应的配置文件, 或者指定的配置文件不可写(not writable), 那么 Sentinel 会拒绝启动。
启动日志如下:
测试
场景:因为其中不可抗拒因素 6379 主节点突然宕机了。
于是 sentinel 日志会显示以下信息,如图:
想要了解更多信息请参考 Redis Sentinel 的高可用性。
总结
哨兵虽实现了自动化的故障恢复,但缺陷是写操作无法负载均衡,存储能力受到单机的限制。