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 結果如下
總結
以上是生活随笔為你收集整理的centos7 redis5.0以前版本 部署集群示例 - 第二篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu16 redis5.0以前版
- 下一篇: linux 使用 cp 命令强制覆盖功能