启动Dubbo服务注册到Zookeeper上的IP与本机IP不一致 |
您所在的位置:网站首页 › dubbo服务怎么启动 › 启动Dubbo服务注册到Zookeeper上的IP与本机IP不一致 |
前言
启动Dubbo服务注册到Zookeeper上的IP与本机IP不一致 通过java获取IP地址与本机IP不一致 Dubbo服务启动失败 问题 问题前提已排除非host文件中对本机域名转换成其他IP;已排除Dubbo启动配置文件中对本机IP写死或者其他的情况 (同样的操作和配置,自己的服务注册到zookeeper上的IP与本机IP不一致;其他同事注册的IP一致) 问题现象项目启动成功,但是由于注册到zookeeper上的IP与本机IP不一致导致服务不可用 问题分析启动Dubbo服务注册到Zookeeper上的IP与本机IP不一致,启动日志中current host非本机的IP地址 先检查host配置,检查是否对本机地址映射到其他的IP上;检查Dubbo启动的配置文件,是否把IP地址写死 在启动类中加入以下代码,查看启动时读取的IP是哪个IP InetAddress addr = InetAddress.getLocalHost(); System.out.println("Local HostAddress:"+addr.getHostAddress()); String hostname = addr.getHostName(); System.out.println("Local host name: "+hostname);启动后发现IP地址非本地IP,但是hostName是本机的hostName 猜想原因可能是网络中存在同名的hostName,且可能同名的HostName优先注册到网络中导致在通过域名获取IP时优先获取到其他人的IP地址 解决方法,修改本机的hostName,重启电脑 重新启动dubbo服务,发现服务启动成功,注册成功 此时显示的IP和hostName为自己的IP和对应的hostName. 保险起见可以在host中加入 hostName 和本机IP的映射关系 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |