Java 连接redis单机报ip不存在问题总结

今天用java 连接redis 时遇到很多问题, 在此将问题记录下来

首先介绍下本地环境:
java 项目: springboot 

redis 集群  :centos7

192.168.78.186:6379    

192.168.78.188:6380

192.168.78.190:6381

1.java连接redis集群报如下错误


为了排查问题, 我改为先连接一台redis服务器,192.168.78.186 6379。安装网上说明检查以下内容:

1.bind 127.0.0.1改为 #bind 127.0.0.1 (注释掉)

2.protected-mode yes 改为 protected-mode no

3. daemonize yes 改为 no  

确定这些都没问题后还是报上面的错。我考虑到可能是防火墙的问题,接下来检查防护墙的状态和关闭防火墙。不知道命令可以百度, 上面一堆堆全是, 也可以看下这个连接的文章:

https://www.cnblogs.com/jxldjsn/p/10794171.html

    在关闭防护墙后, 重启redis, 我重试还是报上面的错。。

在百度的过程中,我学习到以下linux防火墙默认只开放几个端口, 比如22端口,可以修改防火墙开放的端口, 增加自己需要的应用端口,如何开放防火墙端口并且 检查主机和虚拟机可以相互通信,找了下面两篇文章:

https://blog.csdn.net/realjh/article/details/8204849

https://www.cnblogs.com/JimmyFanHome/p/9973516.html

期间,我还遇到cmd命令窗口,telnet 命令不能使用问题, 继续百度

https://blog.csdn.net/yjn1995/article/details/99302431

在主机能够ping 通192.168.78.168 6379 后, 我想这次应该可以了,再次试了下,依旧报上面的问题。

确认也不是防火墙的问题后, 我想可能是代码问题, 回去检查java代码,继续百度。。

jedis 如何连接 redis ,请看这篇文章: https://blog.csdn.net/u013278314/article/details/82656837

通过和我本地代码对比, 我发现在代码中, 端口号前多了http:// 协议,去掉http://,感觉这次可以了,



通过测试, 成功。

总结:

1.先检查代码,保证代码准确

2.检查redis.conf 中配置三项:

    bind 127.0.0.1改为 #bind 127.0.0.1 (注释掉)

    protected-mode yes 改为 protected-mode no

    daemonize yes 改为 no  

3.检查防火墙状态状态,测试时可以先关闭防火墙, 生产环境需要开指定的端口给应用服务器。

你可能感兴趣的:(Java 连接redis单机报ip不存在问题总结)