反客为主的自动版,能够后台监控主机是否故障,如果故障了,根据投票数,自动将从库转换为主库
1、配置哨兵
(1)调整为一主二仆模式
启动服务
[root@hadoop102 redis-3.2.5]# redis-server redis6379.conf
[root@hadoop102 redis-3.2.5]# redis-server redis6380.conf
[root@hadoop102 redis-3.2.5]# redis-server redis6381.conf
[root@hadoop102 redis-3.2.5]# ps -ef | grep redis
建立一主二仆模式
[root@hadoop102 redis-3.2.5]# redis-cli -p 6379
127.0.0.1:6379>
[root@hadoop102 redis-3.2.5]# redis-cli -p 6380
127.0.0.1:6380> slaveof 127.0.0.1 6379
[root@hadoop102 redis-3.2.5]# redis-cli -p 6381
127.0.0.1:6380> slaveof 127.0.0.1 6379
查看主从关系
127.0.0.1:6379> info replication
127.0.0.1:6380> info replication
127.0.0.1:6381> info replication
(2)在myredis目录下新建sentinel.conf文件
[root@hadoop102 myredis]# vim sentinel.conf
(3)配置 sentinel.conf 文件
sentinel monitor mymaster 127.0.0.1 6379 1
其中mymaster为监控对象起的服务器名称, 1 参数位置表示为至少有几个哨兵同意迁移的数量,配置几个,就是几个,假设 参数配置为2,一共有10个哨兵,这时候只要有>=2个数量的哨兵,就表示可以迁移
2、启动哨兵
[root@hadoop102 myredis]# redis-sentinel sentinel.conf
3、主子挂掉
[root@hadoop102 redis-3.2.5]# redis-cli -p 6379
127.0.0.1:6379>
4、查看主从关系
127.0.0.1:6380> info replication
127.0.0.1:6381> info replication
5、故障恢复机制
优先级在redis.conf中slave-priority 100
偏移量是指获得原主数据最多的
每个redis实例启动后都会随机生成一个40位的runid
6、老主子回来了,何处??
哨兵会自动有个说服工作,让老主子听新主子的
哨兵的主从切换和反客为主是有区别的
哨兵可以操作整个集群,所有机子
反客为主,一条命令只对一台机器生效