一次离奇的排查dubbo服务问题之旅。

首先是开启服务提供者,正常启动,后来启动服务调用者,总是报错。错误如下:

2018-06-04 11:17:24,956(7063 ms)[WARN ][DubboClientReconnectTimer-thread-1]com.alibaba.dubbo.remoting.transport.
AbstractClient :  [DUBBO] client reconnect to 10.0.76.21:30000 find error . url: dubbo://10.0.76.21:30000/com.
lenovo.lps.push.common.rpc.MsgBroker?accepts=500&application=nginxKeepalivedService&check=false&codec=dubbo&dubbo
=2.5.3&heartbeat=60000&interface=com.lenovo.lps.push.common.rpc.MsgBroker&logger=log4j&methods=unsubscribe,
subscribe,publish,deleteMsg,publishJid,ack&pid=6048&retries=0&revision=2.6.6&side=consumer&timeout=10000×tamp=
1528082238672&version=1.0.0, dubbo version: 2.5.3, current host: 10.0.76.20com.alibaba.dubbo.remoting.Remoting
Exception: client(url: dubbo://10.0.76.21:30000/com.lenovo.lps.push.common.rpc.MsgBroker?accepts=500&application
=nginxKeepalivedService&check=false&codec=dubbo&dubbo=2.5.3&heartbeat=60000&interface=com.lenovo.lps.push.common.
rpc.MsgBroker&logger=log4j&methods=unsubscribe,subscribe,publish,deleteMsg,publishJid,ack&pid=6048&retries=0&
revision=2.6.6&side=consumer&timeout=10000×tamp=1528082238672&version=1.0.0) failed to connect to server /10.0.76
.21:30000 client-side timeout 3000ms (elapsed: 3000ms) from netty client 10.0.76.20 using dubbo version 2.5.3at com.alibaba.dubbo.remoting.transport.netty.NettyClient.doConnect(NettyClient.java:127)at com.alibaba.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:280)at com.alibaba.dubbo.remoting.transport.AbstractClient$1.run(AbstractClient.java:145)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)

整个过程非常的耗时,猜测几个可能的情况。

1、服务提供者启动失败。

经过检查,发现启动了,并且监听的是30000端口。排除这个错误。

2、服务提供者没有绑定主机ip。

经过检查,发现配置了主机ip。

3、超时

我有两个服务提供者,两个均设置的超时时间是3000ms,一个可以访问,就这个不能访问,超时应该不存在。

4、防火墙 + 端口占用

首先,单纯防火墙的问题,导致外部无法访问本机30000端口的问题是不存在的,因为本机还有其他服务也会有监听端口,而其他端口就可以正常访问,唯独30000端口只有监听,却无法接收请求。

就卡在这个端口问题上,从服务启动来看,端口绑定在30000上,不存在端口占用问题,但是通过telnet命令,返回No route to host。很奇怪。而我通过telnet 另一个服务提供者,能够成功。这说明这个服务器上肯定是有问题的。

通过telnet访问另一个服务提供者,正确得到应答。

后来发现这个服务器原来装过docker,而这个服务最初是放在docker里面的,后来部署不方便,将docker里面的服务单独拿到外面,但是端口配置没有在防火墙规则里面删除。故导致30000端口被监听,但是,最终30000端口被映射到了docker一个容器的30000端口上,因此访问本机自身的监听端口就会有问题。

最终解决办法就是在防火墙规则里面去掉docker30000端口映射的这些规则,然后service iptables reload 即可。

failed to connect to server /xx.xx.xx.xx:20880 client-side timeout问题分析并解决相关推荐

  1. Php错误邮件提示linux,linux下phpmailer发送邮件出现SMTP ERROR: Failed to connect to server: (0)错误...

    在作项目的过程当中,后期客户提出了发送邮件的需求,既然客户有需求,那么没啥说的,上呗.php 通过网上的通常资料查找,PHPMailer这个插件貌似用起来不错,那就从github clone一份下来, ...

  2. Error -27796: Failed to connect to server ip地址: [10060] Connection timed out

    如果出现Error -27796: Failed to connect to server "ip地址": [10060] Connection timed out 这样的错误,如 ...

  3. LoadRunner Error -27792: Failed to connect to server

    用Google打开,replay的时候报错 Action.c(74): Error -27792: Failed to connect to server "accounts.google. ...

  4. 【TDengine】解决 failed to connect to server, reason: Mnode not found

    目录 1.遇到问题 2.问题解决 1.遇到问题 failed to connect to server, reason: Mnode not found 2.问题解决 删除原先相关文件,重新安装: r ...

  5. unable to connect to mks:Failed to connect to server XXXXXX:902

    问题描述: 在vClient中打开虚拟机控制台时提示,Unable to connect to the MKS : Failed to connect to server XXXXXX:902:此时无 ...

  6. pod install报错 CDN: trunk Repo update failed...couldnt connect to server

    今天更新工程的cocoapods报错,报错信息copy一条: [!] CDN: trunk Repo update failed - 14 error(s): CDN: trunk URL could ...

  7. Failed to connect to server(code:1006)

    一般是/etc/nova/nova.conf配置文件的vnc配置不当 打开,替换为 2.修改novncproxy_base_url,尽量使用ip地址,不要用域名 对于server_proxyclien ...

  8. ipc.Client: Retrying connect to server: h1/192.168.1.61:9000. Already tried 0 time(s);解决方法

    1.检查namenode服务器的是否运行正常,我的问题是没有开启hadoop集群出现的. 2.检查namenode服务器的防火墙是否开放的响应端口,一般内网建议关闭. 转载于:https://www. ...

  9. Jack Server--Android N AOSP编译--Failed to contact Jack server

    准备 今天正式担任Android7.0(N)项目模块的开发和维护工作,借此机会git和make了一套系统代码用来研究.在编译的过程中,与以往系统不同的是Android7.0系统编译工具链使用了全新的J ...

最新文章

  1. 拿大厂机器学习岗 offer,吐血整理的面试秘籍!
  2. CSS:响应式下的折叠菜单(条纹式)
  3. 尝试create tech team
  4. java jsoup解析html标签_jsoup解析html
  5. 设置下载安装 桌面_小妖精美化app最新版下载-小妖精美化V5.3.9.800下载安装
  6. 汽车电子传感器科普:激光雷达 毫米波雷达 超声波雷达
  7. java实现报表_用存储过程和 JAVA 写报表数据源有什么弊端?
  8. java构建xml参数_Java中使用XML创建EMAIL模板
  9. 容器编排技术 -- Kubernetes kubectl replace 命令详解
  10. Linux命令之目录和文件操作
  11. 利用tar 通过网络拷贝数据
  12. 关于SpringMVC注解
  13. 自己动手写reg注册表文件--thanklife整理后
  14. [论文总结] 深度学习在农业领域应用论文笔记10
  15. jqGrid实现冻结行和冻结列
  16. 硬件安全技术——芯片安全设计技术2
  17. 用Excel表格拆分一行里的内容
  18. 轻量级网络 Slimmable Neural Networks
  19. 计算机期末考试质量分析报告,信息技术期末考试质量分析
  20. 【参赛作品70】MOGDB/openGauss与PostgreSQL关于GDK字符集问题

热门文章

  1. 网银时代,有招更安全
  2. 064_《Delphi7程序设计与开发技术大全》
  3. 复制粘贴历史记录小软件下载,Mac(Paste破解版) + Win(多款)
  4. 京东商城欲实现2%利润率 B2C盈利在前行
  5. 无字天书之Python第十页(基本文件操作)
  6. 3月第3周榜单丨飞瓜数据B站UP主排行榜(哔哩哔哩平台)发布!
  7. 关于setTimeout的一道经典面试题
  8. Solidworks装配体打包/Pack and Go和另存为两种方法的区别
  9. mysql是怎样运行的 从根儿 百度云_MySQL 是怎样运行的:从根儿上理解 MySQL|完结|百度云下载...
  10. kail 暴力破解excel密码