centos7 redis5.0以前版本 部署集羣示例 - 第二篇

redis集羣(5.0版本以前)的搭建,請參考筆者的這篇博客 https://blog.csdn.net/yzf279533105/article/details/103696990

redis集羣(5.0版本以後)的搭建,請參考筆者的這篇博客 https://blog.csdn.net/yzf279533105/article/details/105563361

 

簡言

1.本篇博客講解redis集羣的操作實驗

2. 實驗例子如集羣的查看 : cluster info  ; cluster 

 

示範

1. 單點故障時,集羣的自動修復 -- 當某個redis主節點掛掉時,剩餘的主節點會自動從其從節點中選舉出一個作爲主節點

redis集羣剛建立時,主從情況如下

8001        <-        8006

8002        <-        8004

8003        <-        8005

我們連接進8002的redis,執行命令 cluster nodes 可以看到集羣目前的狀態,master表主節點的意思,後面的數字表該節點負責的slot範圍

可以看到當前的6個redis進程如下

現在我們執行 kill -9 殺掉8002的進程,執行後可以看到只剩下5個redis進程了,因爲8002的進程已經被我們殺掉了

此時我們再通過redis-cli連接進redis,再次運行命令 cluster nodes 可以看到兩個表現

1)8002節點已經被檢測出異常,改爲了fail狀態

2) 原本8002的從節點8004已經升級成了主節點,且完全接管了8002原本負責的slot範圍5461-10922

 

2. 若某個主節點和它所有的從節點都掛了,那麼redis集羣無法自動進行故障轉移的,就無法提供服務了

接着上面的例子,殺掉8002的進程後,目前redis集羣的狀態是下面這樣的

8001        <-        8006

8004        <-        無從節點

8003        <-        8005

我們再殺掉8004的進程,實驗redis集羣會不會進行自動故障處理

我們再通過redis-cli連接進其他redis節點,再次運行命令 cluster nodes 可以看到

如果我們剛殺掉進程立馬運行 cluster nodes, 那麼redis集羣還沒檢測到問題,認爲集羣依然是OK的

如果我們稍等三四秒後再次運行該命令會看到,redis集羣已經檢測到了該問題,該集羣已經不可用了,只有keys命令可用,其他的命令無論是set,還是get都不行,直接提示 : (error) CLUSTERDOWN The cluster is down

運行 cluster nodes 結果如下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章