IDEA无法连接虚拟机中的Redis的解决方案,无法连接Jedis,无法ping通虚拟机的解决方案
首先,笔者先说明一下自身的情况,怎么连接都连不上,网上的教程全部都看了一遍,基本上没用得上的,这篇文章里面的解决方案包括了笔者能在网上找到了最全面的办法总结,最后终于是连上了
目录
一.连接Jedis出错
二.解决方案
1.确保虚拟网卡的存在
2.主机和虚拟机之间ping通
如果能看见IP地址
如果不能看见ip地址
配置静态IP地址
3.关闭防火墙
4.关闭保护模式
一.连接Jedis出错
首先,在pom.xml文件中添加Redis的Java客户端依赖
redis.clients jedis 3.7.0
但在测试模块中对Redis是否连接成功进行测试的时候报错了
二.解决方案
1.确保虚拟网卡的存在
首先,win+r 打开 ncpa.cpl
然后必须确保这俩个虚拟网卡的存在,如果没有的话,必须要彻彻底底的重新卸载安装Vmware,笔者就是在这里出现了问题,网上查阅了相关资料大概是因为之前下载VMware的时候少了一个步骤
注意
卸载VMware的时候一定要非常仔细
- 首先,使用官方自带的卸载包卸载
- 其次,在Everything中搜索vmware,然后将所有的文件全部删了
- 然后,在Ccleaner中点击注册表项,然后删除
如果你的电脑中没有Everything和CCleaner的话,建议下载一下。出于安全考量,如果要删除的话,建议还是网上搜一下仔细的教程,笔者这里只能提供个大概的思路。
2.主机和虚拟机之间ping通
首先,我们要确保虚拟机本身的ip地址是可以访问的,我们可以先使用相关命令来查看当年虚拟机的ip地址,比如笔者使用的是CentOS,就可以使用下面的命令:
ip addr show
ifconfig
ip addr show | grep 'inet '
需要的ip地址是ens那块网卡下的ip地址
如果能看见IP地址
则进行主机ping虚拟机测试
对于有的信息可能不好理解,这里简单介绍一下:
- lo:location的简写,代表环回接口,IPv4默认127.0.0.1
- ens160:网卡 (也就是我们要用的,根据系统不同也可能是ens33)
- virbr0:虚拟网桥
如果不能看见ip地址
则需要打开网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-ens160,将ONBOOT 修改为yes,也就是启动网卡,根据系统不同,这个文件的后缀名也有可以是33
vi /etc/sysconfig/network-scripts/ifcfg-ens160
如果还是不可以看见ip地址,则需要进行配置静态IP地址
配置静态IP地址
还是像刚才一样,打开网卡配置文件,然后将其中的全部文字替换为下面的文字,然后对其中部分做出修改
- 将ens160改为和ens33(根据自己情况而定,自己的虚拟机网卡是哪个就改成哪个)
- IPADDR和GATEWAY改为自己虚拟机软件中的ip
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens160 UUID=b06bf8c6-7bcd-455b-8d38-2021e80c2ca7 DEVICE=ens160 ONBOOT=yes IPADDR=192.168.117.129 NETMASK=255.255.255.0 GATEWAY=192.168.195.2 DNS1=8.8.8.8 PREFIX=24
其中的IPADDR和GATEWAY改为自己虚拟机软件中的ip,如下查找
做完上述之后,如果主机可以ping通虚拟机,那就说明虚拟机软件的安装和配置是没有问题的,基本上就可以确定问题在虚拟机内部了,如果做完上述操作还是不能ping通虚拟机,那只能找教程重新安装VMware了
3.关闭防火墙
可能是因为防火墙导致无法连接虚拟机中的redis服务,我们可以手动关闭防火墙,也可以将端口放行
查看端口开放信息
firewall-cmd --list-ports
放行6379端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
重新加载防火墙
firewall-cmd --reload
查看防火墙状态
systemctl status firewalld
关闭防火墙
systemctl stop firewalld
开启防火墙
systemctl start firewalld
4.关闭保护模式
将保护模式后的yes改为no
在完成上述全部操作后,就可以看见Jedis已经可以连接成功了
本次的分享就到此为止了,希望我的分享能给您带来帮助,也欢迎大家三连支持,你们的点赞就是博主更新最大的动力!如有不同意见,欢迎评论区积极讨论交流,让我们一起学习进步!有相关问题也可以私信博主,评论区和私信都会认真查看的,我们下次再见