溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

redis的哨兵Sentinel怎么部署

發(fā)布時(shí)間:2021-12-23 15:59:37 來源:億速云 閱讀:271 作者:iii 欄目:云計(jì)算

這篇文章主要介紹“redis的哨兵Sentinel怎么部署”,在日常操作中,相信很多人在redis的哨兵Sentinel怎么部署問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”redis的哨兵Sentinel怎么部署”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

  一、介紹:

    redis的sentinel系統(tǒng)用來管理多個(gè)redis服務(wù)器,可以實(shí)現(xiàn)一個(gè)功能上實(shí)現(xiàn)HA的集群。該系統(tǒng)主要執(zhí)行三個(gè)任務(wù):

    ①監(jiān)控( Monitoring ): Redis Sentinel實(shí)時(shí)監(jiān)控主服務(wù)器和從服務(wù)器運(yùn)行狀態(tài)。

    ②提醒(notification): 當(dāng)被監(jiān)控的某個(gè) Redis 服務(wù)器出現(xiàn)問題時(shí), Redis Sentinel 可以向系統(tǒng)管理員發(fā)送通知, 也可以通過 API 向其他程序發(fā)送通知
 

    ③自動(dòng)故障轉(zhuǎn)移( Automatic failover ): : 當(dāng)一個(gè)主服務(wù)器不能正常工作時(shí),Redis Sentinel 可以將一個(gè)從服務(wù)器升級(jí)為主服務(wù)器, 并對(duì)其他從服務(wù)器進(jìn)行配置,讓它們使用新的主服務(wù)器。當(dāng)應(yīng)用程序連接Redis 服務(wù)器時(shí), Redis Sentinel會(huì)告之新的主服務(wù)器地址和端口。

    一個(gè)簡(jiǎn)單的主從結(jié)構(gòu)加sentinel集群的架構(gòu)圖如下:
 

     redis的哨兵Sentinel怎么部署
 

    上圖是一主一從節(jié)點(diǎn),加上兩個(gè)部署了sentinel的集群,sentinel集群之間會(huì)互相通信,溝通交流redis節(jié)點(diǎn)的狀態(tài),做出相應(yīng)的判斷并進(jìn)行處理,這里的主觀下線狀態(tài)和客觀下線狀態(tài)是比較重要的狀態(tài),它們決定了是否進(jìn)行故障轉(zhuǎn)移

    可以 通過訂閱指定的頻道信息,當(dāng)服務(wù)器出現(xiàn)故障得時(shí)候通知管理員

    客戶端可以將 Sentinel 看作是一個(gè)只提供了訂閱功能的 Redis 服務(wù)器,你不可以使用 PUBLISH 命令向這個(gè)服務(wù)器發(fā)送信息,但你可以用 SUBSCRIBE 命令或者 PSUBSCRIBE 命令, 通過訂閱給定的頻道來獲取相應(yīng)的事件提醒。

    一個(gè)頻道能夠接收和這個(gè)頻道的名字相同的事件。 比如說, 名為 +sdown 的頻道就可以接收所有實(shí)例進(jìn)入主觀下線(SDOWN)狀態(tài)的事件。    

     二、部署  

Redis的sentinel系統(tǒng)可以監(jiān)控主從節(jié)點(diǎn),并且實(shí)現(xiàn)自動(dòng)切換

注意:在使用sentinel監(jiān)控主從節(jié)點(diǎn)的時(shí)候,從節(jié)點(diǎn)需要是使用動(dòng)態(tài)方式配置的,如果直接修改配置文件,后期sentinel實(shí)現(xiàn)故障轉(zhuǎn)移的時(shí)候會(huì)出問題。

 

節(jié)點(diǎn)如下:

redis主節(jié)點(diǎn):192.168.1.170

redis從節(jié)點(diǎn):192.168.1.171(可以有多個(gè))

 

Sentinel節(jié)點(diǎn):192.168.1.172    192.168.1.173

 

部署步驟:

1:192.168.1.170、192.168.1.171、192.168.1.172、192.168.1.173,在這四個(gè)節(jié)點(diǎn)上解壓redis-3.0壓縮包

 

2:在這四個(gè)節(jié)點(diǎn)上對(duì)redis進(jìn)行編譯,安裝。

 

3:修改192.168.1.170、192.168.1.171上的redis.conf文件中的下面屬性

daemonize yes

logfile "/usr/local/redis-3.0.0/log"

 

4:修改192.168.1.172、192.168.1.173上的sentinel.conf文件中的下面屬性

sentinel monitor mymaster 192.168.1.170 6379 2

5:?jiǎn)?dòng)redis和sentinel

在192.168.1.170和192.168.1.171上分別啟動(dòng)reids

Redis-server //etc/redis.conf

在192.168.1.171上使用動(dòng)態(tài)方式設(shè)置主節(jié)點(diǎn)信息

Redis-cli

slaveof 192.168.1.170 6379

在192.168.1.172、192.168.1.173上分別啟動(dòng)sentinel

Redis-sentinel /etc/sentinel

這樣我們的集群就可以使用了

   三、sentinel的一些命令

     ① INFO

    sentinel的基本狀態(tài)信息

    ②SENTINEL masters

    列出所有被監(jiān)視的主服務(wù)器,以及這些主服務(wù)器的當(dāng)前狀態(tài)

    ③ SENTINEL slaves <master name>

    列出給定主服務(wù)器的所有從服務(wù)器,以及這些從服務(wù)器的當(dāng)前狀態(tài)

    ④SENTINEL get-master-addr-by-name <master name>

    返回給定名字的主服務(wù)器的 IP 地址和端口號(hào)

    ⑤SENTINEL reset <pattern>

    重置所有名字和給定模式 pattern 相匹配的主服務(wù)器。重置操作清除主服務(wù)器目前的所有狀態(tài), 包括正在執(zhí)行中的故障轉(zhuǎn)移, 并移除目前已經(jīng)發(fā)現(xiàn)和關(guān)聯(lián)的, 主服務(wù)器的所有從服務(wù)器和 Sentinel 。

    ⑥SENTINEL failover <master name>

    當(dāng)主服務(wù)器失效時(shí), 在不詢問其他 Sentinel 意見的情況下, 強(qiáng)制開始一次自動(dòng)故障遷移,但是它會(huì)給其他sentinel發(fā)送一個(gè)最新的配置,其他sentinel會(huì)根據(jù)這個(gè)配置進(jìn)行更新

到此,關(guān)于“redis的哨兵Sentinel怎么部署”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI