緒論
現有三台設備,192.168.137.11、192.168.137.12和192.168.137.13,要求在三台設備上實現redis哨兵模式,其中192.168.137.11為master,其他兩台為slave。
1、在Master上配置redis.conf文件
配置文件內容如下:
protected-mode no (關閉保護模式) port 6379 daemonize yes (設置redis在后台啟動) pidfile /var/run/redis_6379.pid logfile "/opt/module/redis/6379/logs/redis_6379.log" (設置日志文件的存放位置) dbfilename dump_6379.rdb (設置dump文件名) dir "/opt/module/redis/6379" (設置dump文件和nodes文件的存放位置) masterauth bigdata (設置集群節點間訪問密碼,跟上面一致) requirepass bigdata (設置redis訪問密碼) # bind 127.0.0.1 注釋掉該項
2.啟動redis,並配置另外兩台設備為slave
分別啟動三台設備上的redis,然后使用redis-cli在192.168.137.12和192.168.137.13分別執行如下命令,表示以192.168.137.11為master
slaveof 192.168.137.11 6379
查看配置 info replication
可以發現master已經啟動
3.配置哨兵
抽取redis壓縮文件下的sentinel.conf文件到/opt/module/redis/(存放redis配置文件)下
修改配置如下:
sentinel monitor hadoop-101 192.168.137.11 6379 1
上面最后一個數字1,表示主機掛掉后salve投票看讓誰接替成為主機,得票數多少后成為主機
將上面的配置同步到其他兩台機器上,並且修改Ip為被同步機器的IP。
4.啟動哨兵
Redis-sentinel /myredis/sentinel.conf
打印日志
5.master掛了后
關閉Master的redis進程,sentinel進程的打印的選舉過程和選舉結果
最終192.168.137.12選舉為新的Master
6.王者歸來
原來的master重新啟動后,是否會雙master沖突?
原來的Master在重新啟動后,會自動直接變為新master的slave,不會出現雙Master的情況。