码迷,mamicode.com
首页 > 其他好文 > 详细

记一次Dubbo服务注册异常

时间:2018-11-07 15:26:31      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:readonly   ola   解析   pos   解决方案   attr   运行   不可   6.2   

        公司项目重构,把dubbo版本从2.5.8升级为2.6.2。升级后在本地运行一点问题都没有;可是通过公司自研的发布系统将项目发布到测试环境的linux服务器下面后,出现了dubbo服务未注册的现象。刚出现这问题,大家都一脸懵逼,毕竟在本地跑起来非常顺畅。但问题总是要解决的,不可能因为dubbo服务注册异常就不升级dubbo版本。因此记录下这个问题是怎么解决的,便于后续查阅。

一、问题描述

    dubbo版本从2.5.8升级到2.6.2后,在linux服务器上运行项目。查询dubbo监控中心,发现一个dubbo服务都没注册成功;并且项目启动过程中没有报错。在windows本地运行项目则不会有任何问题,服务都注册上了。

二、解决过程

(1)dump jvm线程栈
        因为是在linux服务器上出现了问题,因此我们需要dump jvm 线程栈
    • 先查询出我们运行的项目的进程id
ps -ef | grep 项目名
1
 
1
ps -ef | grep 项目名
    • dump 线程栈信息
jstack 进程id > zxy_thred_dump.txt
x
 
1
jstack 进程id > zxy_thred_dump.txt
(2)分析dump文件
    发现dump文件中有很多异常信息。异常信息如下图所示
技术分享图片
    发现异常出现在dubbo包下的 NetUtils.getLocalAddress0()这个方法上面

(3)在网络上查询这个异常信息,得到如下结果
        ip解析异常导致dubbo服务注册异常
        技术分享图片

(4)查看服务器上hostname和ip绑定情况
        查看hostname命令: hostname
        查看hostname绑定的ip的命令: hostname -i
            技术分享图片
                查看hosts文件:cat /etc/hosts
            技术分享图片
            
            发现果然是hosts的问题,hostname kxlsv178;但hosts里面iphostname绑定没有绑定。


三、解决方案

直接修改hosts文件,添加hostnameip

vim /etc/hosts

技术分享图片

四、参考链接

(1)https://www.cnblogs.com/leo-li-3046/p/5702479.html

(2)https://www.cnblogs.com/jizhao/p/4081675.html

(3)https://blog.csdn.net/qianghaohao/article/details/80379118

(4)https://blog.csdn.net/perfect5085/article/details/7283067















记一次Dubbo服务注册异常

标签:readonly   ola   解析   pos   解决方案   attr   运行   不可   6.2   

原文地址:https://www.cnblogs.com/zeng1994/p/3942f72e4f26ab68b559102ecde11e4a.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!