1. 程式人生 > >Redis叢集建立時出現的連線第一個7001node成功連線第二個node報 [ERR] Sorry, can't connect to node XXXXXXXXXXX:7002錯誤

Redis叢集建立時出現的連線第一個7001node成功連線第二個node報 [ERR] Sorry, can't connect to node XXXXXXXXXXX:7002錯誤

今天想在虛擬機器的Linux伺服器上安裝redis叢集,前面我的單機redis已經裝好了,並且能正常執行ping-pong操作,在對建立redis叢集的時候,出現了一些問題。
網上有許多的關於建立redis叢集教程,以及解決無法連線node的錯誤,可是我這次碰見的錯誤有些特別。我按照網上的流程順序已經建立了六個6個redis例項,在輸入命令建立叢集之後,我的第一個7001埠node能夠連線成功,可是第二個連線失敗,如圖所示
在這裡插入圖片描述
這時我查看了我的六個redis服務的狀態,如圖
在這裡插入圖片描述
這時我注意到我的7001下的redis服務與其他的埠下的服務不同,不過這時我沒注意到這個問題,去網上找了許多方法,包括將redis服務連線密碼註釋、在redis.conf中加上bind:虛擬主機ip

等等方法,依然無效。
我的redis.conf檔案如下:
在這裡插入圖片描述
解決思路:
由於我的第一個redis 7001埠下在建立叢集的時候能夠正常執行,其他不行,也正是驗證了這張圖為什麼7001埠下的服務與其他的不一樣
在這裡插入圖片描述
這時我想到了我在第一次開啟這六個redis服務的時候我是用的六條Linux語句,這時六個服務的狀態如下:
在這裡插入圖片描述
而使用配置的startall.sh檔案一起開啟六個服務的時候就出現了第一種情況。這時我再建立集群后:
在這裡插入圖片描述
居然成功了。
PS:本人在修改redis.conf 時打開了cluster-enable的註釋,但是依然出現了7001埠下的node為cluster,其他的不是,後來我也是一個一個將服務啟動就成功了。

總結:
在嘗試了網上的各種關於建立叢集連線node失敗的解決方案後,我還是用自己的方法解決了,雖然本人不知道為什麼在建立叢集的時候使用startall.sh統一開啟redis服務會導致建立叢集失敗,但是慶幸問題還是解決了,如果各位大佬們知道其中緣由,還請告知。