最近接手研究公司的redis部署環境,發現使用的主從+哨兵模式。
只有三臺機器,a機器一主一從一哨兵,b和c兩臺機器都是一從一哨兵。
做宕機實驗時,我把a機器主節點停止,查看了一下配置,發現b機器從節點變成了主節點。然后我把a機器主節點重啟后它自動變成從節點了。這是正常的,哨兵模式起了作用。
然后我把b機器主節點和哨兵全部停止了,相當于b機器宕機了。這時候去查看a和c兩臺機器配置redis和哨兵,發現a機器的一個從節點變成了主節點,c機器slaveof也指向a新的主節點,哨兵配置也一樣,都沒有問題。說明主節點宕機不影響redis服務切換。
最后,問題來了,我把b機器redis和哨兵都重啟之后,再去看配置,發現三臺機器的redis配置全亂掉了,a機器另一從節點slaveof指向自己的主節點,但是c指向b從節點,然后b指向c,哨兵配置也是亂的,好像無法確定哪個是主節點了。
這時候,我重新把b機器redis和哨兵全部停止,再查看a和c的配置。。發現又好了了,全都指向a機器的一個從節點(新主節點)。。然后我再次重啟b機器redis和哨兵,發現又亂掉了。
最后,我不得不停止b機器服務,然后等a和c配置確定了哪個是主節點之后,手動去修改了b機器redis和哨兵配置,指向新的主節點,再次重啟,這時配置不再有變化,一切都OK了。
以上測驗讓我覺得哨兵模式會讓配置不可控。也或者是我配置有問題,希望有經驗的朋友指點一下。
uj5u.com熱心網友回復:
所以 解決了嗎轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/255010.html
標籤:Java EE
