【redis 集群】关于redis集群连接失败若干问题( 密码错误、主从无法同步、no reachable node in cluster)
解决redis 集群连接失败问题
项目场景:
提示:这里简述项目相关背景:
例如:项目是java 代码,测试环境启动连接的Redis集群连接失败;(该redis 集群一直废弃未使用)
问题描述
提示:一共三个问题,根据解决顺序排序:
问题一:连接redis 集群提示 Password decode error!
问题二:主从无法同步数据
问题三:IDEA启动java 代码连接 no reachable node in cluster
原因分析:
提示:思路 密码解密失败—> redis集群连接失败
1、分析密码错误原因:解密工具类中的秘钥错误,追源码查看加密时用的密码为"XXXX";
2、主从数据无法复制:排查redis各个节点日志文件,日志一直在刷“ERR Can’t SYNC while not connected with my master(无发连接主节点时,无法同步数据)”
3、IDEA启动java 代码连接 no reachable node in cluster,无法连接到节点,应该是集群创建存在问题;
解决方案:
问题一 修改redis解密工具类中的秘钥
问题二、三解决 项目启动 连接redis集群失败
问题一 追踪密码加密位置源码,获取秘钥,修改redis解密工具类中的秘钥
问题二 尝试解决方式:
(1)修改 redisxxx.config 中的 bind IP,测试IP:0.0.0.0 172.0.0.1 (均无效)
(2)关闭服务器防火墙;
(3)在redis.conf文件中设置redis密码 (6个节点全部执行,并全部重启)
masterauth passwd123
requirepass passwd123
(4)删除 ./redis/data 中文件,重启redis 服务后,各个redis 节点服务正常;运行日志中无主从同步,启动代码,出现第三个问题;
问题三 no reachable node in cluster,需要创建redis 集群解决;
以下是创建集群遇见的问题:
1、检查redis 各个节点启动正常,但是日志文件中 为 “0 client ,0 sval”
2、使用 redis-trib.rb 重新创建集群;
redis-trib.rb create --replicas 1 xxx.xxx.xxx.xxx:27100 xxx.xxx.xxx.xxx:27101 xxx.xxx.xxx.xxx:27102 xxx.xxx.xxx.xxx:27103 xxx.xxx.xxx.xxx:27104 xxx.xxx.xxx.xxx:27105
3、执行报错提示 “/usr/bin/env: ruby: No such file or directory” 没有ruby环境。
原因:执行redis-trib.rb,此脚本是ruby脚本,它依赖ruby环境。
4、安转ruby 环境
参考:https://www.runoob.com/ruby/ruby-installation-unix.html
5、安装 redis-3.3.0.gem
解决Redis创建集群报错`require’: cannot load such file – redis LoadError
参考:
https://blog.csdn.net/leenhem/article/details/121923346
https://www.csdn.net/tags/Ntzacg5sNzMxOTMtYmxvZwO0O0OO0O0O.html
查看redis 服务是否正常
查看redis log日志 1个slaves(redis从机)
重启代码 缓存连接成功;
更多推荐
所有评论(0)