Redis哨兵(sentinel)模式搭建

一、Sentinel介紹

之前騷了一波Redis的簡介及應用場景遵蚜,今天試了下他的哨兵模式帖池;

Sentinel是Redis的高可用性(HA)解決方案,由一個或多個Sentinel實例組成的Sentinel系統(tǒng)可以監(jiān)視任意多個主服務器吭净,以及這些主服務器屬下的所有從服務器睡汹,

并在被監(jiān)視的主服務器進行下線狀態(tài)時,自動將下線主服務器屬下的某個從服務器升級為新的主服務器寂殉,然后由新的主服務器代替已下線的主服務器繼續(xù)處理命令請求囚巴。

Redis提供的sentinel(哨兵)機制,通過sentinel模式啟動redis后,自動監(jiān)控master/slave的運行狀態(tài)彤叉,基本原理是:心跳機制+投票裁決

監(jiān)控(Monitoring): Sentinel 會不斷地檢查你的主服務器和從服務器是否運作正常庶柿。

提醒(Notification): 當被監(jiān)控的某個 Redis 服務器出現(xiàn)問題時, Sentinel 可以通過 API 向管理員或者其他應用程序發(fā)送通知秽浇。

自動故障遷移(Automatic failover): 當一個主服務器不能正常工作時浮庐, Sentinel 會開始一次自動故障遷移操作, 它會將失效主服務器的其中一個從服務器升級為新的主服務器兼呵,

并讓失效主服務器的其他從服務器改為復制新的主服務器兔辅; 當客戶端試圖連接失效的主服務器時, 集群也會向客戶端返回新主服務器的地址击喂, 使得集群可以使用新主服務器代替失效服務器维苔。

二、Redis Sentinel搭建

測試采用2個哨兵懂昂,1個主redis介时,2個從redis。

復制5份redis.windows.conf文件并重命名如下(開發(fā)者可根據(jù)自己的開發(fā)習慣進行重命名):

master.6379.conf 配置:

port 6379

#設置連接密碼

requirepass grs

#連接密碼

masterauth grs


slave.6380.conf 配置:

port 6380

requirepass grs

masterauth grs

dbfilename dump6380.rdb

#配置master

slaveof 127.0.0.1 6379


slave.6381.conf 配置:

port 6381

requirepass grs

masterauth grs

dbfilename dump6381.rdb

#配置master

slaveof 127.0.0.1 6379


sentinel.63791.conf 配置(將原配置文件清空后添加如下內(nèi)容)(另一個一樣凌彬,只需要修改下端口):

port 63791

#主master沸柔,2個sentinel選舉成功后才有效,這里的master-1是名稱铲敛,在整合的時候需要一致褐澎,這里可以隨便更改

sentinel monitor master-1 127.0.0.1 6379 2

#判斷主master的掛機時間(毫秒),超時未返回正確信息后標記為sdown狀態(tài)

sentinel down-after-milliseconds master-1 5000

#若sentinel在該配置值內(nèi)未能完成failover操作(即故障時master/slave自動切換)伐蒋,則認為本次failover失敗工三。

sentinel failover-timeout master-1 18000

#身份認證

sentinel auth-pass master-1 grs

#選項指定了在執(zhí)行故障轉(zhuǎn)移時, 最多可以有多少個從服務器同時對新的主服務器進行同步先鱼,這個數(shù)字越小俭正,完成故障轉(zhuǎn)移所需的時間就越長

sentinel parallel-syncs master-1 1


這里有三個問題需要注意

第一,若通過redis-cli -h 127.0.0.1 -p 6379連接焙畔,無需改變配置文件掸读,配置文件默認配置為bind 127.0.0.1(只允許127.0.0.1連接訪問)

若通過redis-cli -h 192.168.180.78 -p 6379連接,需改變配置文件宏多,配置信息為bind 127.0.0.1 192.168.180.78(只允許127.0.0.1和192.168.180.78訪問)或者將bind 127.0.0.1注釋掉(允許所有遠程訪問)

第二儿惫,masterauth為所要連接的master服務器的requirepass,如果一個redis集群中有一個master服務器,兩個slave服務器伸但,當master服務器掛掉時姥闪,sentinel哨兵會隨機選擇一個slave服務器充當master服務器,鑒于這種機制砌烁,解決辦法是將所有的主從服務器的requirepass和masterauth都設置為一樣。

第三,sentinel monitor master-1 127.0.0.1 6379 2 行尾最后的一個2代表什么意思呢函喉?我們知道避归,網(wǎng)絡是不可靠的,有時候一個sentinel會因為網(wǎng)絡堵塞而誤以為一個master redis已經(jīng)死掉了管呵,當sentinel集群式梳毙,解決這個問題的方法就變得很簡單,只需要多個sentinel互相溝通來確認某個master是否真的死了捐下,這個2代表账锹,當集群中有2個sentinel認為master死了時,才能真正認為該master已經(jīng)不可用了坷襟。(sentinel集群中各個sentinel也有互相通信奸柬,通過gossip協(xié)議)。

按如下循序依次啟動服務

1婴程、redis-server master.6379.conf

2廓奕、redis-server slave.6380.conf

3、redis-server slave.6381.conf

4档叔、redis-server sentinel.63791.conf --sentinel(linux:redis-sentinel sentinel.63791.conf)

5桌粉、redis-server sentinel.63792.conf --sentinel(linux:redis-sentinel sentinel.63792.conf)

查看master狀態(tài):

查看slave狀態(tài):

查看sentinel狀態(tài):

驗證redis sentinel的主從切換:

1、首先關閉主redis(6379)服務(shutdown)衙四。

2铃肯、查看哨兵,發(fā)現(xiàn)端口號為6380的從服務變成了主服務,sentinel自動完成了故障切換传蹈。

3押逼、啟動剛才被shutdown的6379服務并查看,發(fā)現(xiàn)它變成了從服務卡睦。


到這 我搭建和演示就結(jié)束了

后續(xù)單機版 spring 整合使用慢慢玩吧宴胧,成功了再來


參考如下:

https://blog.csdn.net/liguangyan_neu/article/details/78027105


如果有不足和錯誤的地方還請各位大佬指點

謝謝!1矶汀恕齐!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市瞬逊,隨后出現(xiàn)的幾起案子显歧,更是在濱河造成了極大的恐慌,老刑警劉巖确镊,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件士骤,死亡現(xiàn)場離奇詭異,居然都是意外死亡蕾域,警方通過查閱死者的電腦和手機拷肌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門到旦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人巨缘,你說我怎么就攤上這事添忘。” “怎么了若锁?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵搁骑,是天一觀的道長。 經(jīng)常有香客問我又固,道長仲器,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任仰冠,我火速辦了婚禮乏冀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘沪停。我一直安慰自己煤辨,他們只是感情好,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布木张。 她就那樣靜靜地躺著众辨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪舷礼。 梳的紋絲不亂的頭發(fā)上鹃彻,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音妻献,去河邊找鬼蛛株。 笑死,一個胖子當著我的面吹牛育拨,可吹牛的內(nèi)容都是我干的谨履。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼熬丧,長吁一口氣:“原來是場噩夢啊……” “哼笋粟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起析蝴,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤害捕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后闷畸,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體尝盼,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年佑菩,在試婚紗的時候發(fā)現(xiàn)自己被綠了盾沫。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片裁赠。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖疮跑,靈堂內(nèi)的尸體忽然破棺而出组贺,到底是詐尸還是另有隱情,我是刑警寧澤祖娘,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站啊奄,受9級特大地震影響渐苏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜菇夸,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一琼富、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧庄新,春花似錦鞠眉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至羞芍,卻和暖如春哗戈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背荷科。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工唯咬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人畏浆。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓胆胰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親刻获。 傳聞我的和親對象是個殘疾皇子蜀涨,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容