反客為主的自動(dòng)版,能夠后臺(tái)監(jiān)控主機(jī)是否故障,如果故障了,根據(jù)投票數(shù),自動(dòng)將從庫轉(zhuǎn)換為主庫

1、配置哨兵
(1)調(diào)整為一主二仆模式
啟動(dòng)服務(wù)
[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
查看主從關(guān)系
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為監(jiān)控對(duì)象起的服務(wù)器名稱, 1 參數(shù)位置表示為至少有幾個(gè)哨兵同意遷移的數(shù)量,配置幾個(gè),就是幾個(gè),假設(shè) 參數(shù)配置為2,一共有10個(gè)哨兵,這時(shí)候只要有>=2個(gè)數(shù)量的哨兵,就表示可以遷移
2、啟動(dòng)哨兵
[root@hadoop102 myredis]# redis-sentinel sentinel.conf
3、主子掛掉
[root@hadoop102 redis-3.2.5]# redis-cli -p 6379
127.0.0.1:6379>
4、查看主從關(guān)系
127.0.0.1:6380> info replication
127.0.0.1:6381> info replication
5、故障恢復(fù)機(jī)制

優(yōu)先級(jí)在redis.conf中slave-priority 100
偏移量是指獲得原主數(shù)據(jù)最多的
每個(gè)redis實(shí)例啟動(dòng)后都會(huì)隨機(jī)生成一個(gè)40位的runid
6、老主子回來了,何處??
哨兵會(huì)自動(dòng)有個(gè)說服工作,讓老主子聽新主子的
哨兵的主從切換和反客為主是有區(qū)別的
哨兵可以操作整個(gè)集群,所有機(jī)子
反客為主,一條命令只對(duì)一臺(tái)機(jī)器生效