zoukankan      html  css  js  c++  java
  • 虚拟机搭建redis单机版及redis-cluster,使用redis desktop manager和java(eclipse)连接redis过程遇到问题汇总

    如果你看到这里,我默认你已经安装好了redis,并且已经成功的在虚拟机的Linux系统中ping通。

    介绍一下我的环境:VMware虚拟机安装centos 6.5版的Linux系统,redis是3.0.0. 主机是win10,使用的redis desktop manager是一个很古老的版本0.7.9.809,确实十分古老。但是博主只是为了测试是否能连接,因此各位不要纠结这个问题。JAVA IDE是eclipse mars。

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

    现在进入正题!!!!!

    我真的是太气愤了!!!网上虽然确实有一大堆人出谋划策,帮助大家解决学习过程中遇到的Bug。但是!!!能不能不要千篇一律复制粘贴!!对自己写的东西负责好吗!!!

    从头到尾,我看了百来篇技术博客、文档,都是说bind 127.0.0.1注释掉(确实需要),受保护模式改为no设置密码主机和虚拟机ip要在同一网段等(根本不需要)...还有要不就是贴一堆failure  trace代码!!连那种没有用的代码问问题的时候都要粘上来,谁有那个心情看啊!!!

    请务必答应我错误代码放精华部分就行了好吗!!!

    好吧,上面是牢骚,接下来才是正题!!

    如果你已经用完了上述所有方法还是无法解决redis desktop manager无法连接虚拟机中的redis时,罪魁祸首一定是你的虚拟机防火墙。

    最好的测试是不是虚拟机中的linux系统的防火墙在捣鬼的办法如下:

    打开你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测试一下是否能连接成功。

    如果成功的话,反应是很快的,如果你点TESTCONNECTION很久都没反应,估计又失败了。很抱歉,恕在下才疏学浅,帮不上忙....祝你好运!

  • 相关阅读:
    Python字符串的encode与decode
    python数据操作方法封装
    python的继承
    python常用模块
    python导入模块和包的使用
    python实现curl功能
    [转]Java反射机制详解
    kafka入门
    [转]Servlet的学习之Filter过滤器技术
    [转]Java泛型
  • 原文地址:https://www.cnblogs.com/ansyyu/p/7057755.html
Copyright © 2011-2022 走看看