1、配置实例
bind 0.0.0.0
daemonize yes
port 26379
dir "/tmp"
protected-mode no
logfile "/var/log/sentinel.log"
sentinel monitor mymaster 10.10.10.11 6379 2
sentinel auth-pass mymaster passwd@123
sentinel down-after-milliseconds mymaster 30000
sentinel failover-timeout mymaster 90000
sentinel parallel-syncs mymaster 1
2、配置说明
sentinel monitor mymaster 127.0.0.1 6379 2
Sentinel 去监视一个名为 mymaster的主服务器, 这个主服务器的IP地址为 127.0.0.1 ,端口号为 6379 ,而将这个主服务器判断为失效至少需要2个Sentinel 同意
sentinel down-after-milliseconds mymaster 60000
Sentinel认为服务器已经断线所需的毫秒数。
sentinel failover-timeout mymaster 180000
刷新故障迁移状态的最大时限。
sentinel parallel-syncs mymaster 1
在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步, 这个数字越小, 完成故障转移所需的时间就越长。
3、sentinel API
在默认情况下,Sentinel使用TCP端口26379(普通 Redis 服务器使用的是 6379)。Sentinel 接受 Redis 协议格式的命令请求, 所以你可以使用 redis-cli 或者任何其他 Redis 客户端来与Sentinel进行通讯。以下列出的是Sentinel接受的命令。
ping
返回 PONG
SENTINEL masters
列出所有被监视的主服务器,以及这些主服务器的当前状态。
SENTINEL slaves <master name>
列出给定主服务器的所有从服务器,以及这些从服务器的当前状态。
SENTINEL get-master-addr-by-name <master name>
返回给定名字的主服务器的 IP 地址和端口号。 如果这个主服务器正在执行故障转移操作, 或者针对这个主服务器的故障转移操作已经完成, 那么这个命令返回新的主服务器的 IP 地址和端口号
SENTINEL reset <pattern>
重置所有名字和给定模式 pattern 相匹配的主服务器。 pattern 参数是一个 Glob 风格的模式。 重置操作清楚主服务器目前的所有状态, 包括正在执行中的故障转移, 并移除目前已经发现和关联的, 主服务器的所有从服务器和 Sentinel 。
SENTINEL failover <master name>
当主服务器失效时, 在不询问其他 Sentinel 意见的情况下, 强制开始一次自动故障迁移 (不过发起故障转移的 Sentinel 会向其他 Sentinel 发送一个新的配置,其他 Sentinel 会根据这个配置进行相应的更新)。