本机redis客户端与虚拟机上服务端以及Storm drpc无法连接通常情况的解决方案

最近在学redis、Storm drpc等框架的时候都出现了本地主机的客户端无法正常连接虚拟机上的服务端。在经过一段时间的排查后,发现最终都是同一个原因,不过被我忽视了。为了以后遇到类似的问题可以节省时间,所以在这里记录下来。
redis报错如下:

ERROR o.a.s.d.executor - 
redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
Caused by: redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out
Caused by: java.net.SocketTimeoutException: connect timed out

解决方案:
1.我查看了IP地址和端口号,没有问题。
2.尝试systemctl stop firewall关闭firewall防火墙,发现firewall在storm测试的时候为了省事儿已经被我关了。
3.经过了很长时间的尝试还是没好,就在将要放弃的时候,突然想到会不会是centos的iptables 将请求过滤掉了。尝试让redis的默认端口6379允许通过,/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT最终解决。
Storm drpc报错如下:

Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: org.apache.storm.thrift.transport.TTransportException: java.net.ConnectException: Connection timed out: connect
Caused by: java.lang.RuntimeException: org.apache.storm.thrift.transport.TTransportException: java.net.ConnectException: Connection timed out: connect
Caused by: org.apache.storm.thrift.transport.TTransportException: java.net.ConnectException: Connection timed out: connect
Caused by: java.net.ConnectException: Connection timed out: connect

由于在遇到这个问题之后没有及时解决,导致后面又遇到了同样的问题,花费了大量的时间。
解决方法同上,最终在iptables中开启对应端口,/sbin/iptables -I INPUT -p tcp --dport 3772 -j ACCEPT问题解决。
吸取教训,以后发生类似连接问题,先查firewall和iptables,节省时间;遇到问题及时解决,否则会碰到同样的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值