简介
Redis复制 中如果master故障停机了,需要手动选择一个slave切换为master,整个过程需要人工介入,难以实现自动化;为解决这个问题,Redis提供了Sentinel机制;
Sentinel(哨兵):能够监控节点的运行情况,当master故障时,会自动将slave切换为master。
流程
当监控的master下线时,将进行故障转移操作,流程如下:
1、从下线的master的下属的所有slave中选出一个,将其切换为master(发送 SLAVEOF NO ONE
);
2、其他slave与新master建立主从关系(发送 SLAVEOF
);
3、当旧的master故障恢复时,切换为slave(发送 SLAVEOF
)。
配置
1、在 sentinel.conf配置文件中添加内容:
sentinel monitor <master-name> <ip> <redis-port> <quorum>
比如:
sentinel monitor myhost 192.168.1.201 6379 1
启动Sentinel
redis-sentinel sentinel.conf
问题
1、master挂掉后,slave不能切换为master?
可以把redis.conf中的bind 127.0.0.1注释掉试试。