www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 公眾號精選 > 架構(gòu)師社區(qū)
[導(dǎo)讀]目錄什么是哨兵原理環(huán)境設(shè)置哨兵從宕機(jī)及恢復(fù)主宕機(jī)及恢復(fù)配置多個哨兵1、什么是哨兵哨兵是對Redis的系統(tǒng)的運(yùn)行情況的監(jiān)控,它是一個獨(dú)立進(jìn)程。功能有二個:監(jiān)控主數(shù)據(jù)庫和從數(shù)據(jù)庫是否運(yùn)行正常;主數(shù)據(jù)出現(xiàn)故障后自動將從數(shù)據(jù)庫轉(zhuǎn)化為主數(shù)據(jù)庫;2、原理單個哨兵的架構(gòu):多個哨兵的架構(gòu):多個哨...


目錄

  • 什么是哨兵
  • 原理
  • 環(huán)境
  • 設(shè)置哨兵
  • 從宕機(jī)及恢復(fù)
  • 主宕機(jī)及恢復(fù)
  • 配置多個哨兵

1、什么是哨兵

哨兵是對Redis的系統(tǒng)的運(yùn)行情況的監(jiān)控,它是一個獨(dú)立進(jìn)程。

功能有二個:

  • 監(jiān)控主數(shù)據(jù)庫和從數(shù)據(jù)庫是否運(yùn)行正常;
  • 主數(shù)據(jù)出現(xiàn)故障后自動將從數(shù)據(jù)庫轉(zhuǎn)化為主數(shù)據(jù)庫;

2、原理

單個哨兵的架構(gòu):

Redis?主庫宕機(jī)如何快速恢復(fù)?面試必問!
多個哨兵的架構(gòu):

Redis?主庫宕機(jī)如何快速恢復(fù)?面試必問!
多個哨兵,不僅同時監(jiān)控主從數(shù)據(jù)庫,而且哨兵之間互為監(jiān)控。

多個哨兵,防止哨兵單點(diǎn)故障。

3、環(huán)境

當(dāng)前處于一主多從的環(huán)境中:

Redis?主庫宕機(jī)如何快速恢復(fù)?面試必問!

4、設(shè)置哨兵

啟動哨兵進(jìn)程首先需要創(chuàng)建哨兵配置文件:

vim?sentinel.conf
輸入內(nèi)容:

sentinel?monitor?taotaoMaster?127.0.0.1?6379?1
說明:

  • taotaoMaster:監(jiān)控主數(shù)據(jù)的名稱,自定義即可,可以使用大小寫字母和“.-_”符號
  • 127.0.0.1:監(jiān)控的主數(shù)據(jù)庫的IP
  • 6379:監(jiān)控的主數(shù)據(jù)庫的端口
  • 1:最低通過票數(shù)
啟動哨兵進(jìn)程:

redis-sentinel?./sentinel.conf
Redis?主庫宕機(jī)如何快速恢復(fù)?面試必問!
由上圖可以看到:

  • 哨兵已經(jīng)啟動,它的id為9059917216012421e8e89a4aa02f15b75346d2b7
  • 為master數(shù)據(jù)庫添加了一個監(jiān)控
  • 發(fā)現(xiàn)了2個slave(由此可以看出,哨兵無需配置slave,只需要指定master,哨兵會自動發(fā)現(xiàn)slave)

5、從宕機(jī)及恢復(fù)

Redis?主庫宕機(jī)如何快速恢復(fù)?面試必問!
kill掉2826進(jìn)程后,30秒后哨兵的控制臺輸出:

2989:X?05?Jun?20:09:33.509?#? sdown?slave?127.0.0.1:6380?127.0.0.1?6380?@?taotaoMaster?127.0.0.1?6379
說明已經(jīng)監(jiān)控到slave宕機(jī)了,那么,如果我們將3380端口的redis實(shí)例啟動后,會自動加入到主從復(fù)制嗎?

2989:X?05?Jun?20:13:22.716?*? reboot?slave?127.0.0.1:6380?127.0.0.1?6380?@?taotaoMaster?127.0.0.1?6379

2989:X?05?Jun?20:13:22.788?#?-sdown?slave?127.0.0.1:6380?127.0.0.1?6380?@?taotaoMaster?127.0.0.1?6379
可以看出,slave從新加入到了主從復(fù)制中。-sdown:說明是恢復(fù)服務(wù)。

Redis?主庫宕機(jī)如何快速恢復(fù)?面試必問!

6、主宕機(jī)及恢復(fù)

哨兵控制臺打印出如下信息:

2989:X?05?Jun?20:16:50.300?#? sdown?master?taotaoMaster?127.0.0.1?6379??說明master服務(wù)已經(jīng)宕機(jī)

2989:X?05?Jun?20:16:50.300?#? odown?master?taotaoMaster?127.0.0.1?6379?#quorum?1/1?

2989:X?05?Jun?20:16:50.300?#? new-epoch?1

2989:X?05?Jun?20:16:50.300?#? try-failover?master?taotaoMaster?127.0.0.1?6379??開始恢復(fù)故障

2989:X?05?Jun?20:16:50.304?#? vote-for-leader?9059917216012421e8e89a4aa02f15b75346d2b7?1??投票選舉哨兵leader,現(xiàn)在就一個哨兵所以leader就自己

2989:X?05?Jun?20:16:50.304?#? elected-leader?master?taotaoMaster?127.0.0.1?6379??選中l(wèi)eader

2989:X?05?Jun?20:16:50.304?#? failover-state-select-slave?master?taotaoMaster?127.0.0.1?6379?選中其中的一個slave當(dāng)做master

2989:X?05?Jun?20:16:50.357?#? selected-slave?slave?127.0.0.1:6381?127.0.0.1?6381?@?taotaoMaster?127.0.0.1?6379??選中6381

2989:X?05?Jun?20:16:50.357?*? failover-state-send-slaveof-noone?slave?127.0.0.1:6381?127.0.0.1?6381?@?taotaoMaster?127.0.0.1?6379??發(fā)送slaveof?no?one命令

2989:X?05?Jun?20:16:50.420?*? failover-state-wait-promotion?slave?127.0.0.1:6381?127.0.0.1?6381?@?taotaoMaster?127.0.0.1?6379???等待升級master

2989:X?05?Jun?20:16:50.515?#? promoted-slave?slave?127.0.0.1:6381?127.0.0.1?6381?@?taotaoMaster?127.0.0.1?6379??升級6381為master

2989:X?05?Jun?20:16:50.515?#? failover-state-reconf-slaves?master?taotaoMaster?127.0.0.1?6379

2989:X?05?Jun?20:16:50.566?*? slave-reconf-sent?slave?127.0.0.1:6380?127.0.0.1?6380?@?taotaoMaster?127.0.0.1?6379

2989:X?05?Jun?20:16:51.333?*? slave-reconf-inprog?slave?127.0.0.1:6380?127.0.0.1?6380?@?taotaoMaster?127.0.0.1?6379

2989:X?05?Jun?20:16:52.382?*? slave-reconf-done?slave?127.0.0.1:6380?127.0.0.1?6380?@?taotaoMaster?127.0.0.1?6379

2989:X?05?Jun?20:16:52.438?#? failover-end?master?taotaoMaster?127.0.0.1?6379?故障恢復(fù)完成

2989:X?05?Jun?20:16:52.438?#? switch-master?taotaoMaster?127.0.0.1?6379?127.0.0.1?6381??主數(shù)據(jù)庫從6379轉(zhuǎn)變?yōu)?381

2989:X?05?Jun?20:16:52.438?*? slave?slave?127.0.0.1:6380?127.0.0.1?6380?@?taotaoMaster?127.0.0.1?6381??添加6380為6381的從庫

2989:X?05?Jun?20:16:52.438?*? slave?slave?127.0.0.1:6379?127.0.0.1?6379?@?taotaoMaster?127.0.0.1?6381??添加6379為6381的從庫

2989:X?05?Jun?20:17:22.463?#? sdown?slave?127.0.0.1:6379?127.0.0.1?6379?@?taotaoMaster?127.0.0.1?6381?發(fā)現(xiàn)6379已經(jīng)宕機(jī),等待6379的恢復(fù)
Redis?主庫宕機(jī)如何快速恢復(fù)?面試必問!
可以看出,目前,6381位master,擁有一個slave為6380。另外,Redis 系列面試題和答案全部整理好了,微信搜索互聯(lián)網(wǎng)架構(gòu)師,在后臺發(fā)送:2T,可以獲取資料。

接下來,我們恢復(fù)6379查看狀態(tài):

2989:X?05?Jun?20:35:32.172?#?-sdown?slave?127.0.0.1:6379?127.0.0.1?6379?@?taotaoMaster?127.0.0.1?6381??6379已經(jīng)恢復(fù)服務(wù)

2989:X?05?Jun?20:35:42.137?*? convert-to-slave?slave?127.0.0.1:6379?127.0.0.1?6379?@?taotaoMaster?127.0.0.1?6381??將6379設(shè)置為6381的slave
Redis?主庫宕機(jī)如何快速恢復(fù)?面試必問!

7、配置多個哨兵

vim?sentinel.conf
輸入內(nèi)容:

sentinel?monitor?taotaoMaster1?127.0.0.1?6381?1

sentinel?monitor?taotaoMaster2?127.0.0.1?6381?2
Redis?主庫宕機(jī)如何快速恢復(fù)?面試必問!
原文鏈接:https://blog.csdn.net/py_tamir/article/details/82555338


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉
關(guān)閉