您的位置:首页 > 数据库 > Redis

虚拟机开启Redis,java代码连接失败问题

2018-01-24 19:59 543 查看
介绍一下我的环境:VMware虚拟机安装centos 6.5版的Linux系统,redis是3.0.0. 主机是win7,JAVA IDE是eclipse mars。

好了,在虚拟机中已经可以成功Ping通,如下图



罪魁祸首一定是你的虚拟机防火墙。

打开你windos系统的cmd,敲 telnet linux系统ip 端口号,如:telnet 192.168.18.133 6379

(linux系统的Ip应该都知道咋看吧,敲ifconfig取第一个出现的Ip地址就行了)

如果提示telnet不是内部外部指令啥的,打开控制面板,依次点击下图中矩形框中的东西



请务必在系统提示你重启的时候果断重启!!!!请务必在系统提示你重启的时候果断重启!!!!请务必在系统提示你重启的时候果断重启!!!!

网上说打开telnet客户端不用重启的是win7系统,win10比win7傲娇啊!!不重启就不让你的选择生效!楼主在这里也走了弯路,一把辛酸泪。

 设置完了,重启之后,你的所有程序都关闭了吧。这个时候就请你不厌其烦的,打开你的vmware,再开启你的centos,再启动你的redis,再测试一下能否在centos中ping通。也就是...回到最初的样子。

弄完之后,进入windows 的cmd界面,敲telnet linux系统ip 端口号,如果迅速出现一片漆黑,那你可以关掉网页了....因为本篇博客帮不了你。

如果出现(当然我输6380是为了截图失败的结果,你应该输的是6379)

 


那就说明的确是你的centos的防火墙在整幺蛾子!不听话!先把它关小黑屋呆一会儿!让它心甘情愿开放你需要的端口,再打开它。

依次敲击如下代码: 

/etc/init.d/iptables stop

/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT

/etc/init.d/iptables save

service iptables restart

敲击完了之后,可以查看一下是否开放成功,检查状态的代码:/etc/init.d/iptables status

 如果开放成功应该是这样的:



你们关注6379就是了,其它的端口是我redis-cluster用的,开启的方法都一样,在用eclipse连集群失败的时候也是因为端口没有开,错误代码是:

(单机版的错误代码)redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused: connect

(集群版的错误代码)redis.clients.jedis.exceptions.JedisConnectionException: no reachable node in cluster

开启端口之后,再用telnet指令检查一下能否连接。如果还是不能连接,就再关一下防火墙,再开一下防火墙。反正我是这么解决的....如果你这么做了还没有解决的话,就各种重启一下试试吧...反正你也找不到别的解决办法,还不如用网管的万能法则——重启。

幸运的话,你也出现一片漆黑了,再用redis desktop manager测试一下是否能连接成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: