1. 程式人生 > >在虛擬機器模擬部署Redis叢集的坑

在虛擬機器模擬部署Redis叢集的坑

按照步驟在一個cenos虛擬機器搭建叢集之後,在這裡就不具體介紹怎麼搭建了。Redis是4.0.9的。在/usr/local/redis-cluster拷貝了六個redis單機版副本

,redis01-redis06。修改每個資料夾下的redis.conf檔案,更改每個的埠依次為7001-7006.

daemonize yes

protected no

註釋掉#bind 127.0.0.1.

並且7001-7006的埠已經開啟,沒被防火牆遮蔽。在windows下輸入dos命令telnet 192.168.140.129 7001能跑通

開啟集群后,使用Redis Desktop Manager 依次連線每個叢集節點都能連同,而且set 和 get 方法都好使。關鍵是在Java中使用Jedis進行測試時不能連線叢集,只能連線叢集的某一個節點。找了很久都不知道問題出現在哪,把叢集刪了重建還是這樣,困擾了我一天還是出現 redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool

錯誤。在網上找了很多答案都是說設定超時時間,最大連線數等都是不行。改為最後把註釋掉的#bind 127.0.0.1開啟,改為 bind 0.0.0.0還是不行。崩潰了啊,問題出在哪完全懵比。最後看到一篇文章

https://blog.csdn.net/fxq8866/article/details/58238802,終於解決了問題,bind  192.168.140.129 127.0.0.1. 即在還回地址前加上本機地址,使用Jedis終於測試成功。