#頭條創作挑戰賽#
一、安裝redis
二、配置redis主從
三、配置哨兵模式
原理
1.哨兵向其他節點發送ping指令進行心跳檢測,判斷是否下線。 2.在心跳檢測的定時任務中,如果其他節點超過一定時間沒有回複,哨兵節點就會将其進行主觀下線。 3.哨兵節點在對主節點進行主觀下線後,會詢問其他哨兵節點該主節點的狀态;如果判斷主節點下線的哨兵數量達到一定數值,則對該主節點進行客觀下線。 4.選舉上司者哨兵節點:當主節點被判斷客觀下線以後,各個哨兵節點會進行協商,選舉出一個上司者哨兵節點,并由該上司者節點對其進行故障轉移,選取新的master。
已經配置好主從的三個節點:
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
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以前台形式運作,生産環境時可以加上此配置。
2.啟動sentinel
./redis-sentinel ../sentinel.conf
3.驗證
将主節點192.168.25.221當機,檢視是否會推選出新的master
1)首先在主節點檢視一下是否是三個節點
info
2)将主節點當機,程序殺掉即可
此時我們看一下sentinel的日志:
3)檢視225