发布于 2015-03-27 21:56:10 | 891 次阅读 | 评论: 0 | 来源: PHPERZ
Redis Key-Value数据库
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
Sentinel主要功能就是为Redis M-S(master,slaves)集群提供了
(1)master存活检测
(2)集群中M-S服务监控
(3)自动故障转移,M-S角色转换等能力,从一个方面说是提高了redis集群的可用性.
(4)当master失效后,sentinel可以帮助我们自动将slave提升为master
cp /usr/local/redis/redis-2.8.19/sentinel.conf /etc/redis/sentinel-26379.conf
端口分别为
redis_master:26379
redis_slave1:26479
redis_slave2:26579
(1)主节点监控配置文件修改(192.168.1.110)
vi /etc/redis/sentinel-26379.conf
port 26379
sentinel monitor redis_master 192.168.1.110 6379 1
sentinel down-after-milliseconds redis_master 5000
sentinel parallel-syncs redis_master 1
sentinel failover-timeout redis_master 180000
(2)主节点配置文件修改(192.168.1.111)
vi /etc/redis/sentinel-26479.conf
port 26479
sentinel monitor redis_master 192.168.1.110 6379 1
sentinel down-after-milliseconds redis_master 5000
sentinel parallel-syncs redis_master 1
sentinel failover-timeout redis_master 180000
(3)主节点配置文件修改(192.168.1.112)
vi /etc/redis/sentinel-26579.conf
port 26579
sentinel monitor redis_master 192.168.1.110 6379 1
sentinel down-after-milliseconds redis_master 5000
sentinel parallel-syncs redis_master 1
sentinel failover-timeout redis_master 180000
1.
2.
3.
4.
sentinel发现master下线,则标记master sdown
和其他sentinel协商以确定master状态是否odown
如果master odown,则选出leader
当选为leader的sentinel选出一个slave做为master,并向该slave发送slaveof no one命令以转变slave角色为master
向已下线的master及其他slave发送slaveof xxxx命令使其作为新当选master的slave