配置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節點部署,可以使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的配置,可以發現配置中多了兩個從節點的信息,截圖如下:
查看26379端口的Sentinel節點監控的主節點信息
查看目前redis的進程ps -ef | grep redis
之前我們sentinel監控的主節點是6379這個端口,這時候我們kill這個端口的進程,或者使用shutdown命令:redis-cli -h 127.0.0.1 -p 6379 shutdown過了30秒之后查看26379端口的Sentinel節點監控的主節點信息,發現主節點信息變成了6380端口的redis(之前的從節點)
驗證6380端口的redis變成主節點,此時我們在6380 的redis上設置一個key值,在6381端口的redis上驗證是否能獲取到該key值
此時發現,6380變成了主節點,6381從節點沒有變化,還是從節點。下面我再次啟動6379端口的redis
發現原先的主節點6379已經變成了從節點,而它的主節點變成了6380。此時我們再回過頭看下26379的監控節點變化,還是6380端口。
以上就是redis詳解之sentinel介紹的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答