连接Redis集群时出现的问题

注意:我的环境是centos7.3,redis4.0.8

1、连接超时或者拒绝连接

请看这篇博文,操作差不多  http://blog.csdn.net/dragonfreedom/article/details/79512686

2、java.lang.NumberFormatException: For input string: "7005@1700

是因为jedis的版本和redis不对应,我使用的redis时4.0.8,这里在pom文件中将jedis的版本改为2.9.0就好,都是最新的(截至我现在) 这是我找到的解决方案  https://www.cnblogs.com/qq1871707128/p/8081788.html
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>

3、(error) MOVED 15495 127.0.0.1:7003

有像上边的错误的,是因为
  • 节点会对命令请求进行分析和key的slot计算,并且会查找这个命令所要处理的键所在的槽。如果要查找的哈希槽正好就由接收到命令的节点负责处理, 那么节点就直接执行这个命令
  • 另一方面, 如果所查找的槽不是由该节点处理的话, 节点将查看自身内部所保存的哈希槽到节点 ID 的映射记录, 并向客户端回复一个 MOVED 错误。上面的错误信息包含键 x 所属的哈希槽15495, 以及负责处理这个槽的节点的 IP 和端口号 127.0.0.1:7003 。
  • 虽然我们用Node ID来标识集群中的节点, 但是为了让客户端的转向操作尽可能地简单, 节点在 MOVED 错误中直接返回目标节点的 IP 和端口号, 而不是目标节点的 ID 。客户端应该记录槽15495由节点127.0.0.1:7003负责处理“这一信息, 这样当再次有命令需要对槽15495执行时, 客户端就可以加快寻找正确节点的速度。这样,当集群处于稳定状态时,所有客户端最终都会保存有一个哈希槽至节点的映射记录,使得集群非常高效: 客户端可以直接向正确的节点发送命令请求, 无须转向、代理或者其他任何可能发生单点故障(single point failure)的实体(entiy)

官方文档:http://www.redis.cn/topics/cluster-tutorial.html

4、终极处理

如果你百度了各种教程还是没有解决问题,建议重装(好吧,我就是这个样子)重装有两种操作

  • 删除你所有的redis集群的节点,再装一遍,这是我的安装详细过程:http://blog.csdn.net/DragonFreedom/article/details/79524059(必看)
  • 删除一些配置文件,再次集群,如下操作(建议先看一下详细安装的那个文章,一些目录文件在那里有说明,就不再讲了)

删除redis-cluster下的nodes.conf还有.rdb文件,甚至有的可能还有.aof文件,有的可能都没有,就不用删除了

删除每一个节点下的nodes.conf,还有.rdb 、.aof文件,我这里直接给命令,粘在命令行就能用

rm -f redis01/nodes.conf
rm -f redis02/nodes.conf
rm -f redis03/nodes.conf
rm -f redis04/nodes.conf
rm -f redis05/nodes.conf
rm -f redis06/nodes.conf

rm -f redis01/dump.rdb
rm -f redis02/dump.rdb
rm -f redis03/dump.rdb
rm -f redis04/dump.rdb
rm -f redis05/dump.rdb
rm -f redis06/dump.rdb

注意:你所在的为目录位置,还有,如果你的文件路径或者文件夹命名和我的不一样,也需要改一下,我没有.aof文件,因此没有管,如果你的目录下有的话记得删除。

这样就把没用文件都删除了,接下来就可以像刚开始一样配置集群了,详细步骤还是见上边那篇文章。

至于为什么我介绍了两种,很简单嘛,要是全都删了,配置文件有得重新改,挺麻烦,当然如果你的配置文件从一开就是错的,那还是全删了吧!!

5、总结

安装服务或者环境的时候真的会碰到各种各样的问题,非常恼人,不像代码可以调试。要留心观察错误提示,细想,领会,判断哪一块最有可能出问题,加之百度,一定可以解决!还有很重要的一件事就是吧自己一步步犯下来的错误记下来,写博客,不仅是对别人有帮助,哪一天自己再装再犯错,还可以借鉴!下边是百度的时候看到的两篇关于解决这个问题和安装redis的文章,觉得还可以

https://www.cnblogs.com/mengjinluohua/p/6193962.html

https://segmentfault.com/a/1190000010682551

展开阅读全文

没有更多推荐了,返回首页