天天看點

手把手教你搭建哨兵模式- Redis

作者:頑強小貓BX

#頭條創作挑戰賽#

一、安裝redis

二、配置redis主從

三、配置哨兵模式

原理

1.哨兵向其他節點發送ping指令進行心跳檢測,判斷是否下線。 2.在心跳檢測的定時任務中,如果其他節點超過一定時間沒有回複,哨兵節點就會将其進行主觀下線。 3.哨兵節點在對主節點進行主觀下線後,會詢問其他哨兵節點該主節點的狀态;如果判斷主節點下線的哨兵數量達到一定數值,則對該主節點進行客觀下線。 4.選舉上司者哨兵節點:當主節點被判斷客觀下線以後,各個哨兵節點會進行協商,選舉出一個上司者哨兵節點,并由該上司者節點對其進行故障轉移,選取新的master。
手把手教你搭建哨兵模式- Redis

已經配置好主從的三個節點:

master:192.168.25.221

slave: 192.168.25.223

slave: 192.168.25.225

1.修改sentinel的配置檔案(redis解壓後的檔案夾,部落客是在/root/tz/redis-4.0.14檔案夾下): 1)

sentinel monitor mymaster 192.168.25.221 6379 2
#表示sentinel監控的master叫做mymaster
#位址為192.168.25.221(位址預設是127.0.0.1,一般修改為主節點的位址)
#端口為6379
#這個2代表,當叢集中有2個sentinel認為master死了時,才能真正認為該master已經不可用了,這個數量一般設定為(sentinel/2)+1            
手把手教你搭建哨兵模式- Redis

2)添加配置

protected-mode yes bind 0.0.0.0

#daemonize yes

#logfile "/root/tz/redis-4.0.14/sentinel.log"

注: protected-mode yes bind 0.0.0.0 這兩行配置是我redis.conf中配置了,當時在sentinel.conf沒有加,出現sentinel選舉失敗的情況,百度一下是因為我在redis.conf配置有這兩行配置,但是在sentinel.conf沒有配置導緻的,如果大家配置過程中沒有出現問題,便可不加此配置

daemonize yes

#表示sentinel以背景形式運作 logfile "/root/tz/redis-4.0.14/sentinel.log"

#表示sentinel運作日志的存放位置 預設sentinel以前台形式運作,生産環境時可以加上此配置。

手把手教你搭建哨兵模式- Redis

2.啟動sentinel

./redis-sentinel ../sentinel.conf           
手把手教你搭建哨兵模式- Redis

3.驗證

将主節點192.168.25.221當機,檢視是否會推選出新的master

1)首先在主節點檢視一下是否是三個節點

info           
手把手教你搭建哨兵模式- Redis
手把手教你搭建哨兵模式- Redis

2)将主節點當機,程序殺掉即可

此時我們看一下sentinel的日志:

手把手教你搭建哨兵模式- Redis
手把手教你搭建哨兵模式- Redis

3)檢視225

手把手教你搭建哨兵模式- Redis

哨兵模式搭建成功~~~

繼續閱讀