在虚拟机模拟部署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终于测试成功。

你可能感兴趣的:(服务器)