一、redis的Sentinel
redis的sentinel系统用于管理多个redis服务器,该系统主要执行三个任务
1:监控
2:提醒
3:自动故障转移
二、配置sentinel
修改sentinel.conf文件
sentinel monitor mymaster 192.168.1.170 6379 2 (2表示:有2票则判断客观下线)
启动sentinel
redis-sentinel sentinel.conf
sentinel日志明细说明
http://redisdoc.com/topic/sentinel.html
执行以下命令,查看redis主从信息
[root@localhost vagrant]# redis-cli -h 192.168.9.17 -p 26379 info Sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
master0:name=master1,status=ok,address=192.168.9.18:6379,slaves=1,sentinels=1
三、原理
主观下线和客观下线
四、sentinel的一些命令
INFO
sentinel的基本状态信息
SENTINEL masters
列出所有被监视的主服务器,以及这些主服务器的当前状态
SENTINEL slaves <master name>
列出给定主服务器的所有从服务器,以及这些从服务器的当前状态
SENTINEL get-master-addr-by-name <master name>
返回给定名字的主服务器的 IP 地址和端口号
SENTINEL reset <pattern>
重置所有名字和给定模式 pattern 相匹配的主服务器。重置操作清除主服务器目前的所有状态, 包括正在执行中的故障转移, 并移除目前已经发现和关联的, 主服务器的所有从服务器和 Sentinel 。
SENTINEL failover <master name>
当主服务器失效时, 在不询问其他 Sentinel 意见的情况下, 强制开始一次自动故障迁移,但是它会给其他sentinel发送一个最新的配置,其他sentinel会根据这个配置进行更新
五、java操作sentinel
参考:http://blog.csdn.net/pi9nc/article/details/17735653