redis詳解之sentinel介紹

來源:互聯網
上載者:User
目錄

  • 配置redis主從複製

    • 使用ping命令檢查是否啟動

    • 主節點查看連結資訊

  • 開始部署sentinel 節點

  • 部署sentinel

  • 啟動sentinel

  • 示範下容錯移轉

    • 查看當前sentinel監控的節點資訊

    • 中斷redis的主節點

    • 驗證redis的主節點是否改變

    • 至此sentinel介紹就講完了,不足之處歡迎指正。

配置redis主從複製

一個主節點(連接埠6379),兩個從節點(連接埠6380,6381),不會配置的請看我的上一篇redis主從複製的文章。

使用ping命令檢查是否啟動

redis-cli -h 127.0.0.1 -p 6379 ping

如下,返回PONG表示三個redis服務都已經啟動完成

一個主節點:

兩個從節點:

主節點查看連結資訊

查看6379的串連資訊命令:info replication可以發現6379的角色是master,有兩個從節點,也就是連接埠為6380,6381的從節點(redis)

同樣在6380 從節點中,該節點的角色是slave(從節點),與主節點的串連狀態為up(master_link_status),通過這個命令可以方便的查看各個節點的串連狀態等資訊。

除了用info replication命令外,如下命令也可以快速查看連結資訊redis-cli -h 127.0.0.1 -p 6381 info replication看個人喜好用哪個命令。

開始部署sentinel 節點

通過sentinel節點部署,可以使redis主從複置更加的高可用,那sentinel到底有什麼用呢,從字面意思就看出sentinel是“哨兵”的意思,也就是來監控redis節點的,被sentinel監控的redis節點是主節點,sentinel具有容錯移轉的功能,什麼是容錯移轉呢?當被sentinel監控的redis節點被意外中斷後,sentinel會自動的選擇一個角色為slave節點的redis為主節點,維護後續並保證正確的主從複製的關係,而原來的從節點還是從節點,不過它們的主節點變成新升級為主節點的redis服務。下面咱們就一步一步開始搭建sentinel。

部署sentinel

進入安裝redis的目錄下的配置目錄,我的本地是/etc/redis

我這邊就直接使用原本的sentinel.conf配置,來作為第一個sentinel節點。我們可以進入sentinel.conf配置看下裡面到底有啥配置資訊:sentinel monitor mymaster 127.0.0.1 6379 2 //監控的主節點IP和連接埠,其中mymaster是該節點的別名,2表示判斷主節點失敗至少需要兩個節點同意sentinel down-after-milliseconds mymaster 30000  //通過ping命令,各個sentinel節點向redis節點是否可達,超過30000毫秒,就判定不可達sentinel failover-timeout mymaster 180000 //容錯移轉逾時時間為180000毫秒如果還有其它的配置,可以自己在探索下

啟動sentinel

啟動命令:sudo redis-sentinel sentinel.conf --sentinel

查看sentinel啟動情況redis-cli -h 127.0.0.1 -p 26379 INFO Sentinel可以看出與查看redis啟動的情況命令類似,中可以看到此時sentinel監控redis節點是連接埠為6379的服務,6379有兩個從節點,狀態為OK,別名是mymaster

繼續再配置兩個sentinel節點,sudo cp sentinel.conf  sentinel2.conf sudo cp sentinel.conf  sentinel3.conf 修改兩個配置的連接埠為26380, 26381,其它配置可以不用修改修改完後,分別啟動sudo redis-sentinel sentinel2.conf --sentinelsudo redis-sentinel sentinel3.conf --sentinel

啟動後再次查看sentinel.conf的配置,可以發現配置中多了兩個從節點的資訊,如下:

示範下容錯移轉

查看當前sentinel監控的節點資訊

查看26379連接埠的Sentinel節點監控的主節點資訊

查看目前redis的進程ps -ef | grep redis

中斷redis的主節點

之前我們sentinel監控的主節點是6379這個連接埠,這時候我們kill這個連接埠的進程,或者使用shutdown命令:redis-cli -h 127.0.0.1 -p 6379 shutdown過了30秒之後查看26379連接埠的Sentinel節點監控的主節點資訊,發現主節點資訊變成了6380連接埠的redis(之前的從節點)

驗證redis的主節點是否改變

驗證6380連接埠的redis變成主節點,此時我們在6380 的redis上設定一個key值,在6381連接埠的redis上驗證是否能擷取到該key值

此時發現,6380變成了主節點,6381從節點沒有變化,還是從節點。下面我再次啟動6379連接埠的redis

發現原先的主節點6379已經變成了從節點,而它的主節點變成了6380。此時我們再回過頭看下26379的監控節點變化,還是6380連接埠。


至此sentinel介紹就講完了,不足之處歡迎指正。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.