大家好,又见面了,我是全栈君。
出现问题
我遇到的一个问题,在连接redis的时候出现了错误!错误如下:
JedisConnectionException: java.net.ConnectException: Connection refused
看错误是 连接被拒绝,网上查了报这个错误的相关解决方案,没有一个可以解决的!
问题就是上面的报错的问题,先说明一下我出现这个问题的背景或者环境吧。
环境说明
redis集群部署在 A(10.102.1.2)服务器上部署,我在B(10.102.1.1)服务器上进行应用的部署,代码中配置好了连接redis集群的配置。
过程描述
启动部署的应用,报上面的错误,各种排查,无法解决!
- 使用了 ping,服务器之间是通的。
- 使用了 telnet ,B服务器能telnet上Aredis 的每个端口。没有任何问题!
因为 A(10.102.1.2)服务器的redis也有其他项目的应用在使用,那说明redis本身是没有问题的。
然后去找看到redis集群配置的node.conf
看到如下
怎么配置的IP都是本地的回环地址(127.0.0.1)!!!
然后去问其他项目在使用这个redis的应用服务是部署在那台机器上的
回答说:和redis是一台机器!
那这就好接受了,我的连接redis代码和另外一个项目的连接方法一模一样,另一个项目和redis部署在一台机器可以连接上,我的和redis部署不在一台机器就连接不上!那说明这个127.0.0.1 这种集群的配置是有坑的!
因为这台机器这个redis集群还在使用,不在重新修改,我于是在A这台机器上有搭建了一套集群,创建集群的时候使用 服务器IP创建!如下图
然后在应用中修改了redis集群的端口,重启服务,发现连接正常!
总结
本次问题就这样解决 了,花费了很多的时间,刚开始以为代码配置有问题,改了几次代码和配置,不行!
最后就在沟通中浪费了很多时间,我说我这边不能连接redis,对方提供redis服务的人说我们这边连接的好好的,为什么你连接有问题!
我还能说什么!!! 最后我自己查看redis配置,发现上面配置的可疑点 127.0.0.1 ,自己重新配置一套,验证自己的猜想,最后发现的确就是这个集群创建的问题!
创建集群的命令:
redis-trib.rb create --replicas 1 10.102.1.1:7080 10.102.1.1:7081 10.102.1.1:7082 10.102.1.1:7083 10.102.1.1:7084 10.102.1.1:7085
注意:如果在服务器上创建redis集群,请记得使用服务器IP,不要使用127.0.0.1,避免我上面的问题,本机器应用可以访问,其他服务器应用访问有问题!
最后一张图,上面的7080这一套是我自己配置的,下面的6380这一套是之前A(10.102.1.2)服务器上原本有的!
如果您觉得这篇博文对你有帮助,请点赞或者喜欢,让更多的人看到,谢谢!
如果帅气(美丽)、睿智(聪颖),和我一样简单善良的你看到本篇博文中存在问题,请指出,我虚心接受你让我成长的批评,谢谢阅读!
祝你今天开心愉快!
欢迎访问我的csdn博客,我们一同成长!
不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!
博客首页 : http://blog.csdn.net/u010648555
© 每天都在变得更好的阿飞
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/121072.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...