1、背景介绍
在Redis集群中,当master宕机之后,其余的slave会一直等待,这样就会导致无法向redis中写入数据,这时候就需要从其余的slave中选取一个master,但是又能不能自动的让slave晋升为maser呢?这时候需要哨兵监控了。
2、哨兵模式介绍
它是反客为主的自动版,能够在后台自动监控主机是否故障,如果主机故障了,其余的从机会自动进行投票选举,得票数最多的从机将转换为 master。
3、哨兵模式实现
1. 开启三个 redis 服务:6379,6380,6381。
2. 先让 6379 成为 master,其余两个服务成为它的 slave。
3. 在自定义的 /myconf 目录下新建 sentinel.conf 文件,必须是这个名字。
4. 在sentinel.conf 文件中写入:
sentinel monitor 被监控的数据库名字(随意) 192.168.198.130 6379 1
注意:上面最后一个数字 1,表示 master 宕掉后,slave 投票看让谁接替成为主机,得票数最多的成为主机。
5. 启动哨兵
redis-sentinel /myconf/sentinel.conf,这个 /myconf 目录根据自己的实际情况进行配置。
6. 当把 master shutdown 之后,开启的哨兵服务会自动从剩余的两个 slave 投票选出一个当 master,而当原来的 master 上线之后会成为 从机。